處理重複列
當 SQL 評估 select 陳述式時,視滿足 select 陳述式搜尋條件的列數而定,結果表格中可能有幾列符合條件。 結果表格中的部分列可能重複。
您可以使用 DISTINCT 關鍵字,後面接著表示式清單,來指定不要任何重複項目:
SELECT DISTINCT JOB, SEX
...DISTINCT 表示您只想要選取唯一列。 如果選取的列與結果表格中的另一列重複,則會忽略重複列 (它不會放入結果表格中)。 例如,假設您想要員工工作代碼清單。 您不需要知道哪個員工有什麼工作代碼。 因為部門中的數個人員可能具有相同的工作代碼,所以您可以使用 DISTINCT 來確保結果表格只有唯一值。
下列範例顯示如何執行此動作:
SELECT DISTINCT JOB
FROM CORPDATA.EMPLOYEE
WHERE WORKDEPT = 'D11';
結果是兩列。
| 工作 |
|---|
| 設計者 |
| 經理 |
如果您未在 SELECT 子句中包括 DISTINCT ,則可能會在結果中找到重複列,因為 SQL 會針對滿足搜尋條件的每一列傳回 JOB 直欄的值。 空值會被視為 DISTINCT 的重複列。
如果您在 SELECT 子句中包括 DISTINCT ,並且也包括共用加權排序順序,則可能會傳回較少的值。 排序順序會使包含相同字元的值加權相同。 如果 'MGR'、'Mgr '和' mgr ' 都在相同的表格中,則只會傳回其中一個值。