1.为什么要使用联合查询?
联合查询也叫多表查询。在设计数据库表时,由于范式的要求,数据被拆分到多个表中,在查询一条数据的完整信息,就要从多个表中获取数据。
2.多表查询时MySQl内部是怎样计算的?
笛卡尔积

多表查询是一个低效操作,如果一次联合的表过多,SQL执行的会很慢,造成系统卡顿
3.内连接
1.语法

或

2.查询学生的班级及班级名称

MySQL内部进行笛卡尔运算后得到的结果是混乱的,需要加上条件得到期望结果

3.查询学生姓名为孙悟空的个人信息和班级信息alter

内连接还可写为:

4.查询唐三藏同学的成绩alter

5.查询所有同学的总成绩

6.查询每个同学每门课的成绩

4.外连接
外连接与内连接得到的结果可能不同
1.外连接的结果与表内数据对应关系有关
1.当两个表一一对应时


1.内连接
2.左外连接
3.右外连接

2.当两个表数据不一一对应时


注意:补充:在MysQl安全更新模式下,要删除表内全部数据,先关闭安全模式,才能进行删除

MySQL认为
delete from stu;
delete from score;
不安全的原因是:没有where条件
1.内连接

得到两个中同时存在的结果
2.左外连接

左表的全部内容
3.右外连接
右表的全部内容


