PostgreSQL 取別名時(shí)可以不加AS晨另,直接加個(gè)空格就可以
如 FROM tablename AS t1 JOIN tablename2 AS t2
與 FROM tablename t1 JOIN tablename2 t2
是相同的
在連接時(shí)飒赃,應(yīng)使外鍵=主鍵
將多個(gè)表聯(lián)合操作,可以使用JOIN來聯(lián)合腾它,直接使用 JOIN就是INNER JOIN 只有左右兩表?xiàng)l件都滿足的數(shù)據(jù)才會(huì)返回,而外鏈接有三種 LEFT JOIN(左連接)、RIGHT JOIN(右連接)和OUTER JOIN(全連接)姻报,一般情況下只使用左連接,右連接可以改寫為左連接
介紹一個(gè)簡(jiǎn)單的規(guī)則:當(dāng)數(shù)據(jù)庫執(zhí)行該查詢時(shí)间螟,它先執(zhí)行連接和 ON 條件中的指令吴旋。將其看做構(gòu)建新的結(jié)果集,然后使用 WHERE 條件來過濾該結(jié)果集厢破。
這個(gè)示例是LEFT JOIN這一事實(shí)很重要荣瑟。因?yàn)閮?nèi)連接僅返回兩個(gè)表格中匹配的行,將此過濾器移到內(nèi)連接的 ON 條件中將與使其保留在 WHERE 條件中產(chǎn)生的結(jié)果一樣摩泪。
SELECT DISTINCT可以在查詢中去重
主鍵和外鍵
你學(xué)習(xí)了在連接數(shù)據(jù)庫中的表格時(shí)與主鍵和外鍵相關(guān)的關(guān)鍵要素:
主鍵 - 對(duì)于表格中的每行都是唯一的笆焰。主鍵通常是數(shù)據(jù)庫中的第一列(就像 Parch & Posey 數(shù)據(jù)庫中每個(gè)表格的 id 列)。
外鍵 - 是出現(xiàn)在另一個(gè)表格中的主鍵见坑,允許行不是唯一的行嚷掠。
數(shù)據(jù)庫的數(shù)據(jù)設(shè)置非常重要捏检,但通常不是數(shù)據(jù)分析師的職責(zé)。這一過程稱為數(shù)據(jù)庫規(guī)范化不皆。
JOIN
在這節(jié)課贯城,你學(xué)習(xí)了如何使用 JOIN 組合多個(gè)表格的數(shù)據(jù)。你將最常用到的三個(gè) JOIN 語句為:
- JOIN - 一種 INNER JOIN霹娄,僅獲取在兩個(gè)表格中都存在的數(shù)據(jù)能犯。
- LEFT JOIN - 用于獲取 FROM 中的表格中的所有行,即使它們不存在于 JOIN 語句中项棠。
- RIGHT JOIN - 用于獲取 JOIN 中的表格中的所有行悲雳,即使它們不存在于 FROM 語句中。
還有幾個(gè)沒有講解的高級(jí) JOIN香追,它們僅適用于非常特定的情況合瓢。UNION 和 UNION ALL、CROSS JOIN 和比較難的 SELF JOIN透典。