当两张表进行连接查询时,没有任何条件的限制会发生什么现象?
此时,会发生笛卡尔积的现象,将2张表里的数据一 一 组合
image.png

内连接:

等值连接

image.png
Sql92语法缺点:结构不清晰,表的连接条件,和后期进一步筛选的条件,都放到了where后边。


image.png
Sql99语法的优点:表连接的条件是独立的,连接之后,如果还需要加进一步的筛选条件,再往后加where条件语句
具体的语法如下:

  1. select 1.字段名,表2.字段名.......
  2. from 1
  3. innerjoin
  4. 2
  5. on
  6. 12的连接条件;

非等值连接

image.png
以上图片示例就是查询工资在某个区间的等级查询
条件不是等值关系,就称为非等值连接。

自连接

在同一张表的匹配查询


外连接:

左外连接(左连接)

2张表有主次关系,会将主表中的数据全部展示出来,顺带匹配查询的连接条件。

  1. select 查询字段内容 from 左表 left join 右表 on 查询条件;
  2. 等同于
  3. select 查询字段内容 from 右表 right join 左表 on 查询条件;

以左表为主!

右外连接(右连接)

  1. select 查询字段内容 from 左表 right join 右表 on 查询条件;
  2. 等同于
  3. select 查询字段内容 from 右表 left join 左表 on 查询条件;

同上 这个以右表为主!