1. 程式人生 > >My SQL 子查詢

My SQL 子查詢

 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='孫悟空')