My SQL 子查询

来源:互联网 发布:狸窝for mac 编辑:程序博客网 时间:2024/06/05 23:44

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


    

0 0
原创粉丝点击