天天看點

sql leftjoin 如果為空不關聯_SQL簡單而常用的模闆

SELECT DISTINCT 語句

對于重複的記錄,使用關鍵詞 DISTINCT 可傳回唯一不同的值。

SELECT DISTINCT 列名 FROM 表名
           

TOP 子句

TOP 傳回前N條數目的記錄。(适用大部分資料庫系統,如:MSSQL、MySQL 、Oracle 等)

--MSSQLSELECT TOP N 列名FROM 表名--MySQLSELECT 列名FROM 表名LIMIT N--Oracle SELECT 列名FROM 表名WHERE ROWNUM <= N
           

LIKE

用于比對指定模式的記錄。

SELECT 列名FROM 表名WHERE 列名 LIKE 比對條件
           

IN

篩選出IN子句中限定值的記錄

SELECT 列名FROM 表名WHERE 列名 IN (值1,值2,...)
           

BETWEEN

BETWEEN ... AND 會選取介于兩個值之間的記錄範圍。這些值可以是數值、文本或者日期。

SELECT 列名FROM 表名WHERE 列名BETWEEN 值1 AND 值2
           

UNION

合并兩個或多個 SELECT 篩選結果集。

注意這些結果集列數目相同、列順序相同,資料類型相似。

UNION:預設是過濾重複記錄

UNION ALL:保留重複的記錄

SELECT 列名 FROM 表名UNION|UNION ALLSELECT 列名 FROM 表名
           

SQL連接配接【重點】

所謂連接配接就是從不同的資料表中,根據它們之間的關系【顯現了關系資料庫的特點】,關聯得到我們需要的完整結果集。

SQL連接配接可以分為:内連接配接[INNER JOIN]、外連接配接[LEFT JOIN、RIGHT JOIN]、全連接配接[FULL JOIN]、交叉連接配接[CROSS JOIN]。

  • INNER JOIN: 列出與連接配接條件比對的資料行,它使用比較運算符比較被連接配接列的列值
  • LEFT JOIN(左聯接): 以左表為基準比較,即使右表中沒有比對,也從左表傳回所有的行,某些資料庫稱LEFT OUTER JOIN
  • RIGHT JOIN(右聯接): 以右表為基準比較,即使左表中沒有比對,也從右表傳回所有的行,某些資料庫稱RIGHT OUTER JOIN
  • FULL JOIN: 隻要其中一個表中存在比對,就傳回行,另一個表不存在則用空值代替,需要ON條件,某些資料庫稱FULL OUTER JOIN
  • CROSS JOIN:也稱笛卡爾積,傳回兩個表的所有行記錄組合
--INNER JOIN | LEFT JOIN | RIGHT JOIN | FULL JOINSELECT 列名FROM 表1INNER JOIN | LEFT JOIN | RIGHT JOIN | FULL JOIN 表2 ON 表1.列名=表2.列名--CROSS JOINSELECT 列名 FROM 表1 CROSS JOIN 表2
           

提示:SQL連接配接使用較多,而且很實用,需要知道各種連接配接的差異。後面也會進一步的輔以執行個體說明。

SELECT INTO 語句

從一個表中選取資料,并把資料插入另一個表中。對于備份資料很有效又實用。

SELECT 列名INTO 新表名FROM 舊表名    --可以連接配接其它表WHERE 舊表列名=值1  --可選
           
sql leftjoin 如果為空不關聯_SQL簡單而常用的模闆

了解了才能更好的應用