1.内连接(inner join)
返回两个表符合条件的数据。
查询:
SELECT DISTINCT p.user_id,p.user_name,r.c_id,r.job_id FROM person pINNER JOINrelative r ON p.user_id=r.user_id
结果集:
1001 小明 301 2011002 小红 301 2041003 小胖 301 2051004 小李 305 2061005 小王 306 2051002 小红 304 2041003 小胖 302 2061004 小李 303 2021001 小明 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 pLEFT JOINrelative r ON p.user_id=r.user_id
结果集:
1001 小明 301 2011002 小红 301 2041003 小胖 301 2051004 小李 305 2061005 小王 306 2051002 小红 304 2041003 小胖 302 2061004 小李 303 2021001 小明 302 2031006 小张 null null1007 小李 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 rRIGHT JOINperson p ON p.user_id=r.user_id
结果集:
1001 小明 301 2011002 小红 301 2041003 小胖 301 2051004 小李 305 2061005 小王 306 2051002 小红 304 2041003 小胖 302 2061004 小李 303 2021001 小明 302 2031006 小张 null null1007 小李 null null
4.全连接(full join)
返回两个表中全部数据,不管是否匹配。