oracle 的各種連接

字號(hào):


    SQL UNION 操作符
    UNION 操作符用于合并兩個(gè)或多個(gè) SELECT 語句的結(jié)果集。
    請(qǐng)注意,UNION 內(nèi)部的 SELECT 語句必須擁有相同數(shù)量的列。列也必須擁有相似的數(shù)據(jù)類型。同時(shí),每條 SELECT 語句中的列的順序必須相同。
    SQL UNION 語法
    SELECT column_name(s) FROM table_name1
    UNION
    SELECT column_name(s) FROM table_name2
    注釋:默認(rèn)地,UNION 操作符選取不同的值。如果允許重復(fù)的值,請(qǐng)使用 UNION ALL。
    SQL UNION ALL 語法
    SELECT column_name(s) FROM table_name1
    UNION ALL
    SELECT column_name(s) FROM table_name2
    另外,UNION 結(jié)果集中的列名總是等于 UNION 中第一個(gè) SELECT 語句中的列名。
    另一種連接:內(nèi)連接和外連接
    簡(jiǎn)單來講,隨便來個(gè)例子:
    A表 B表
    id name id name
    1 a 1 b
    2 b 3 c
    4 c
    內(nèi)連接就是左表和右表相同的數(shù)據(jù):
    select * from A inner join B on A.id=B.id
    id name id name
    1 a 1 b
    外連接分為:左外連接、右外連接、全外連接
    左外連接就是以左表為準(zhǔn),去匹配右表,左表有多少條數(shù)據(jù),結(jié)果就是多少條數(shù)據(jù)
    select * from A left join B on A.id=B.id
    id name id name
    1 a 1 b
    2 b null null
    4 c null null
    右外連接就是與左外連接反之,以右表為準(zhǔn),去匹配左表,右表有多少條數(shù)據(jù),結(jié)果就是多少條數(shù)據(jù)
    select * from A right join B on A.id=B.id
    id name id name
    1 a 1 b
    null null 3 c
    全外連接數(shù)據(jù)條數(shù)不一定,相當(dāng)與是左外連接 和右外連接 的綜合
    select * from A full join B on A.id=B.id
    id name id name
    1 a 1 b
    2 b null null
    null null 3 c
    4 c null null