【正文】
ter join(1)右向外聯(lián)接是左向外聯(lián)接的反向聯(lián)接。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。(2)sql語句select * from table1 right join table2 on =結果idnameidscore1lee1902zhang2100NULLNULL370注釋:包含table2的所有子句,根據(jù)指定條件返回table1相應的字段,不符合的以null顯示:full join 或 full outer join(1)完整外部聯(lián)接返回左表和右表中的所有行。當某行在另一個表中沒有匹配行時,則另一個表的選擇列表列包含空值。如果表之間有匹配行,則整個結果集行包含基表的數(shù)據(jù)值。(2)sql語句select * from table1 full join table2 on =結果idnameidscore1lee1902zhang21004wangNULLNULLNULLNULL370注釋:返回左右連接的和(見上左、右連接)二、內(nèi)連接:內(nèi)聯(lián)接是用比較運算符比較要聯(lián)接列的值的聯(lián)接:join 或 inner joinselect * from table1 join table2 on =結果idnameidscore1lee1902zhang2100注釋:只返回符合條件的table1和table2的列(與下列執(zhí)行效果相同)A:select a.*,b.* from table1 a,table2 b where =B:select * from table1 cross join table2 where =(注:cross join后加條件只能用where,不能用on)三、交叉連接(完全):沒有 WHERE 子句的交叉聯(lián)接將產(chǎn)生聯(lián)接所涉及的表的笛卡爾積。第一個表的行數(shù)乘以第二個表的行數(shù)等于笛卡爾積結果集的大小。(table1和table2交叉連接產(chǎn)生3*3=9條記錄):cross join (不帶條件where...)select * from table1 cross join table2結果idnameidscore1lee1902zhang1904wang1901lee21002zhang21004wang21001lee3702zhang3704wang370注釋:返回3*3=9條記錄,即笛卡爾積(與下列執(zhí)行效果相同)A:select * from table1,table2