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
-

浙公网安备 33010602011771号