SQL高级查询

1.子查询注意事项

1)任何允许使用表达式的地方都可以使用子查询

2)嵌套在父查询SELECT语句的子查询可包括

                SELECT子句

                FROM子句

                WHERE子句:用来筛选FROM子句中指定的操作所产生的行

                GROUP BY子句:用来分组WHERE子句的输出

                HAVING子句:用来从分组的结果中筛选行

3)只出现子查询中而没有出现在父查询中的列不能包含在输出列中。

2.分组查询

1)GROUP BY 实现分组查询

          

  select ...... from 表名
             where ......

              group by .......

   注意:select列表中只能包含 :被分组的列

                      为每个分组返回一个值得表达式,如聚合函数

(2) 分组查询排序

        order by ......

       asc: 升序

       desc: 降序

3)分组筛选

select ...... from 表名

where ......

group by .......

having ......

3.连接

1)内连接 内连接使用比较运算符根据每个表的通道列中的值匹配两个表中的行

select ...... from table A A inner join table B B on A.key=b.key

2)左外连接

select ...... from table A A left join table B B on A.key=b.key

3)右外连接

select ...... from table A A rigth join table B B on A.key=b.key
原文地址:https://www.cnblogs.com/gnos/p/13176271.html