- 各种join用法
例表:
1.1 inner join(内连接)
当用两张表进行查询时,只保留两张表中完全匹配的记录。
例:
SELECT p.LastName, p.FirstName, o.OrderNo
FROM Persons p
INNER JOIN Orders o
ON p.Id_P=o.Id_P
ORDER BY p.LastName
结果:
笛卡尔乘积:select * from a,b 若a表有5条数据,b表有3条数据,则笛卡尔乘积有15条数据
但是如果对两个表进行关联:select * from a,b where a.id = b.id 意思就变了,此时就等价于:
select * from a inner join b on a.id = b.id。即就是内连接。
但是这种写法并不符合规范,可能只对某些数据库管用,如sqlserver。推荐最好不要这样写。最好写成inner join的写法。
1.2 left join(左连接)
用两张