数据库连接查询操作
1.内连接(inner join)
返回两个表符合条件的数据。
查询:
SELECT DISTINCT p.user_id,p.user_name,r.c_id,r.job_id FROM person p
INNER JOIN
relative r ON p.user_id=r.user_id
结果集:
1001 小明 301 201 1002 小红 301 204 1003 小胖 301 205 1004 小李 305 206 1005 小王 306 205 1002 小红 304 204 1003 小胖 302 206 1004 小李 303 202 1001 小明 302 203
2.左连接(left join || left outer join)
返回左表中全部记录以及右表中符合条件的记录,右表不符合条件的记录显示为NULL(返回的记录不一定和左表的记录数相等)
查询:
SELECT DISTINCT p.user_id,p.user_name,r.c_id,r.job_id FROM person p
LEFT JOIN
relative r ON p.user_id=r.user_id
结果集:
1001 小明 301 201 1002 小红 301 204 1003 小胖 301 205 1004 小李 305 206 1005 小王 306 205 1002 小红 304 204 1003 小胖 302 206 1004 小李 303 202 1001 小明 302 203 1006 小张 null null 1007 小李 null null
3.右连接(right join || right outer join)
返回右表中全部记录以及右表中符合条件的记录,左表不符合条件的记录显示为NULL(返回的记录不一定和右表的记录数相等)
查询:
SELECT DISTINCT p.user_id,p.user_name,r.c_id,r.job_id FROM relative r
RIGHT JOIN
person p ON p.user_id=r.user_id
结果集:
1001 小明 301 201 1002 小红 301 204 1003 小胖 301 205 1004 小李 305 206 1005 小王 306 205 1002 小红 304 204 1003 小胖 302 206 1004 小李 303 202 1001 小明 302 203 1006 小张 null null 1007 小李 null null
4.全连接(full join)
返回两个表中全部数据,不管是否匹配。