- SQL的多表查询
(一)连接查询
- 交叉连接【不常用】:获得两个表的笛卡尔积。用法:
select * from A,B;
内连接:使用的关键字:inner join(inner可以省略)
-----查到的是两个表公共的部分,即两个表的交集。-
隐式内连接:在SQL语句中看不到inner join,不过和显式内连接查到的结果一样。用法:
select * from A,B where A.id = B.aid;
-
显式内连接:SQL语句中出现inner join。用法:
select * from A inner join B on A.id = B.aid;
-
外连接:使用的关键字:outer join(outer 可以省略)
- 左外连接:left outer join-----查询到的是左边表的全部内容,以及两个表的公共部分。用法:
select * from A left outer join B on A.id = B.aid;
- 右外连接:right outer join-----查询到的是右边表的全部内容,以及两个表的公共部分。用法:
select * from A right outer join B on A.id = B.aid;
- 左外连接:left outer join-----查询到的是左边表的全部内容,以及两个表的公共部分。用法:
(二)子查询
子查询就是一些SQL语句的嵌套。