内连接
内连接查询的是两张表交集的部分
语法
隐式内连接
SELECT 字段列表 FROM 表1,表2 WHERE 条件...;
显式内连接
SELECT 字段列表 FROM 表1 [INNER] JOIN 表2 ON 连接条件...;
演示
查询每个user的姓名,以及他们的status状态(隐式内连接)
select name,status.now from user,status where user.status=status.id;
还能用显式内连接完成
select name,status.now from user inner join status on user.status=status.id;
该效果和上面是一样的。
外连接
语法
左外连接
SELECT 字段列表 FROM 表1 LEFT [OUTER] JOIN 表2 ON 条件...;
右外连接
SELECT 字段列表 FROM 表1 RIGHT [OUTER] JOIN 表2 ON 条件...;
左外连接和右外连接的区别是,除了查询两张表的交集部分,还额外查询了左表或右表的所有数据。
演示
查询第一张表的所有数据以及对应的status状态。
select user.*,status.now from user left outer join status on user.status=status.id;