6.5笔记-DQL高级查询

Posted 笨笨2013A

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6.5笔记-DQL高级查询相关的知识,希望对你有一定的参考价值。

一、高级查询
    Exists
    Drop table  if exists result;
    子查询有返回结果: EXISTS子查询结果为TRUE
    子查询无返回结果: EXISTS子查询结果为FALSE,
                       外层查询不执行
    1、分组查询
        group by  having
        #分组查询  查询每门课程的大于80的平均分 
        SELECT 
            sj.SubjectName AS 课程,
            avg(r.StudentResult) AS 平均分 
        FROM result AS r,`subject` AS sj
        WHERE r.SubjectNo = sj.SubjectNo
        GROUP BY r.SubjectNo 
        HAVING avg(r.StudentResult)>80
    having 可以单独使用(mysql可以,oracle数据库不行);
        SELECT * FROM student HAVING sex=1 AND GradeId=1
    2、内连接
        inner join  等值连接
        
    3、外连接
        左外连接 left join
            优先查询左边表的所有记录,不管和右边表是否有匹配记录
        右外连接 right join
        
        
        
        
        
        
        
        
        
        

 

以上是关于6.5笔记-DQL高级查询的主要内容,如果未能解决你的问题,请参考以下文章

Mysql DBA 高级运维学习笔记-sql语言介绍及分类

MySql学习笔记之DQL常用查询

SQL基础笔记

6.2笔记-DQL语句查询数据库

MySQL学习笔记DQL语句之条件查询

MySQL笔记--- 部分 DQL 语句;条件查询;排序;分组函数;单行处理函数;group by ,having ;