快捷搜索: 王者荣耀 脱发

连接查询(自连接、内连接和外连接)-MySQL

1.前提摘要

1.1关于表格

1.2详情

 

1.3什么是连接查询:

若一个连接查询设计两个表以上则称之为连接查询。

另外要注意SQL92和SQL99的语法差异,同样是查询。

SQL92:select * from A,B where 条件;

SQL99:select * from A join B on 条件;

2.自连接

自连接就是自己连接自己。

As:

select * from emp e1 join emp e2 where e1.deptno=e2.deptno;

3.内连接(inner join)

3.1等值连接与非等值连接

Where子句中用来连接两个表的条件被称为连接条件或连接谓词

当连接运算符为“=”时,被称为等值连接,使用其他的连接运算符则被称为非等值连接。

例子:

等值连接

3.2自然连接

自然连接是在等值连接的基础上把目标字段中的重复的属性列去掉。

例子:

自然连接还具体分为自然外连接和自然内连接。这个我不太了解 我就不说了。

4.外连接(outer join)

4.1左外连接(left outer join)

4.2右外连接(right outer join)

5.内外连接的差异

内连接的两个表是平等关系,外连接的两个表具有主次关系。比如表dept中的dname是从ACCOUNTING开始,当我们像4.2中进行右连接,就会取出dept中的dname所有,然后进行表连接符合条件的则展示,不符合条件的则显示null。在内连接中不符合条件的则会直接不展示。

菜鸟一个,有错误的地方还请指教。

经验分享 程序员 微信小程序 职场和发展