SQL问题+知识点总结总

 

  

1、SQL中的内置函数有哪些?(Count、Sum、Avg、Max、Min)

2、SQL查询语句的执行顺序。(先执行from语句,再执行条件语句,最后执行Select 语句投影查询信息)

3、Having 和Where在SQL中的区别:having用于分组后的筛选,where 用于分组前的筛选。(能尽量在分组前进行筛选的尽量在分组前进行筛选)

4、需要注意的是Where条件语句中不能有聚合函数——课件案例中问题:“求人数大于2的系”中可以很好的体会这一点,并且由此可以引入Having的使用方法(先进行系分组,然后再判断系的人数是不是大于2——做题的思路)

5、口诀:分组必统计(还不理解)

6、SQL中否定不等于的表示方法为:<>

7、*****通过拆解问题,使用独立子查询(where)

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

8、Sql中连接查询,当查询涉及到两个或两个以上的表时需要使用连接查询。

连接查询有:

  内连接(inner join)和按条件执行独立子查询是一样的

        外连接:

      (

    左外连接:left join查询A表与B表中符合on条件的内容,如果左表中有不符合条件的行,则返回

              右连接:right join 查询A表和B表中符合条件的内容,如果右表中有不符合条件的其他行,则返回

左边是A表,右边是B表

                

Select A.aNo,B.Score from A left join B on A.aNo = B.bNo

Select A.aNo,B.Score from A right join B on A.aNo = B.bNo

      )

     口诀:不管是left join 还是 right join 都是——from谁   谁就是左表

 

    交叉连接:也称笛卡尔乘积,全映射

下图帮助理解:

 

 

 

 

9、查询的结果运算(并、交、差)

实列:左边表为A表,右表为B表

                                         

 


Select aNo from A union Select bNo from B


Select aNo from A union All Select bNo from B

对比以上union查询,理解union对查询结果的运算和union和union all的区别

 

10、exsist(存在)和excipt(排除)在Sql中的使用

 

posted @ 2018-04-26 23:31  EFLand  阅读(219)  评论(0编辑  收藏  举报