MySQL-06-做题补充

8、做题过后的新知识

对查询的更深的理解:查询的结果其实都是一张张的表!

表的列是我们自己定义的可以随意定义:

甚至可以定义为常量,也可以到另外的表中查询

  • 临时表

    我们查出来的数据要用的时候,用as临时表

    (select sid, sname from student) AS B 这时候就可以把查询的结果当成一个临时的B表在和其他的表进行连表查询

  • distinct

  • group by 和 having 和 where

  • left join 和 inner join 和 right join

  • union 和 union all

  • 笛卡尔积

  • 映射

    • 普通映射

      select sid, sname from student 表示我们从student表中映射出 sid和sname列

    • 特殊映射

      select sid, sname, 1 from student 可以写个数字,我们这一列全是这个数字

    • 条件映射

      select sid, sname, if(isnull(grade), 0, grade) from student 当grade列为空的时候我们当作0处理,计算总分平均数的时候常用

      还有一个 case when then else end:SELECT sid, sname, CASE WHEN class_id = 1 THEN 0 else class_id END FROM student;

    • 高级映射

      select sid, sname, (select tid from teacher where ...) from student

posted @ 2020-06-08 11:50  贝加尔湖畔╭  阅读(54)  评论(0)    收藏  举报