My SQL 子查詢
阿新 • • 發佈:2019-01-27
1.使用IN關鍵字的子查詢
例:查詢遊戲型別是“棋牌類”的遊戲的分數資訊
1.1過濾掉遊戲分數表中未包含遊戲型別的玩家
1.2思路一:採用連線查詢
1.3思路二:分兩步進行,首先找到所有“棋牌類”遊戲的編號,再以這組編號為查詢依據得到對應的玩家分數資訊,完成查詢
SELECT *FROM scores WHERE gno IN //得到對應的玩家分數資訊(父查詢)
(SELECT gno FROM games WHERE gtype='棋牌')//找到編號(子查詢)
例:查詢沒有參與5號遊戲的玩家QQ
SELECT user_qq FROM users WHERE user_qq NOT IN (SELECT user_qq FROM scores WHERE gno=5)
2.使用EXISTS關鍵字的子查詢
例:如果存在暱稱為“孫悟空” ,則查詢分數表中的資料(在子查詢有結果的情況下,進行外圍的父查詢)
SELECT *FROM scores WHERE EXISTS
(SELECT *FROM users WHERE user_name='孫悟空')