当前位置: 代码迷 >> SQL >> SQL多表联接笔记
  详细解决方案

SQL多表联接笔记

热度:96   发布时间:2016-05-05 14:29:12.0
SQL多表连接笔记

?

?

  • 根据连接的类型,多表连接查询主要可以分为交叉连接查询、内连接查询和外连接查询。
  • 内连接查询又可分为等值连接查询、自然连接查询和自连接查询等;
  • 外连接查询则可以分为左外连接查询、右外连接查询和全外连接查询等。

多表连接查询的基本语法:

select?name_list

from?table1

join_type?table2

on?(join_condition);

其中,jion_type是连接类型;关键字on用于指定连接条件。jion_type选择情况如下:

?

?

cross?join表示对两表进行交叉连接,这时语句中,不能带有on关键字,即没有查询条件;

[inner]?join表示对两表进行等值连接,其中关键字inner可以省略;

?

left[outer]?join表示对两表进行左外连接查询,其中关键字outer可以省略;

?

right[outer]?join表示对两表进行右外连接查询,其中关键字outer可以省略;

?

full[outer]?join表示对两表进行全外连接查询,其中关键字outer可以省略;

?

DEMO:

?

ta的table:

?

AB
1a1b1
2a2b2
3a3b3

?

?

?

?

?

?

tb的table:

?

AC
1a1c1
2a2

c3

3a4c4

?

?

  • 内连接
select * fromta inner join tbon ta.A=tb.A
?
ABAC
1a1b1a1c1
2a2b2a2c2


  • 交叉连接
select * from ta cross join tb
?


?
  • 全连接
select * fromta full outer join tbon ta.A=tb.A
?


?

  • A和B的左外连接
select * fromta left outer join tbon ta.A=tb.A
?


?
  • A和B的右外连接
select * fromta right outer join tbon ta.A=tb.A
?


?

?

  相关解决方案