数据库 多表联查
多对多有三张表有一张中间表可以
内连接
SELECT count(*),sex from student GROUP BY sex ORDER BY count(*); 先找表,再group by ,再order by ,最后select
SELECT s.sname,t.tname FROM student s INNER join teacher t on s.sid = s.sid;
INNER join关键字连接两张表求交集
seclect distinct sex from student;去重关键字
SELECT 1213 FROM dual;空表
dual 为一张空表
先找from
全外连接
SELECT student.sname,teacher.tname FROM student left join teacher on STUDENT.tid = teacher.tid
以左表为主,右表没有全为空
SELECT student.sname,teacher.tname FROM student right join teacher on STUDENT.tid = teacher.tid
以右表为主,左表没有全为空
SELECT student.sname,teacher.tname FROM student full join teacher on STUDENT.tid = teacher.tid
连表不加关联条件会出现,笛卡尔积
drop 删除表格
as 改别名 ""或者不加, 单引号不行,as可以省略
union会将重复数据做去重处理,默认排序,合并结果集
union all 不做去重处理,不会排序,合并结果集
上下数据类型一 一对应