在MySQL中,`DISTINCT` 關鍵字用于從結果集中返回唯一(不同)的值。當你使用 `SELECT` 語句從一個或多個列中查詢數據時,可能會得到重復的行記錄。如果你希望每個記錄都是獨一無二的,即每個記錄在結果集中只出現一次,那么就可以使用 `DISTINCT` 關鍵字來實現。
基本用法
```sql
SELECT DISTINCT 列名稱 FROM 表名稱;
```
- 列名稱:這里指定你希望返回唯一值的列名。
- 表名稱:指定要從中選擇數據的表名。
示例
假設有一個 `employees` 表,其中包括 `department` 列,而你想要找出所有不同的部門名稱。你可以寫:
```sql
SELECT DISTINCT department FROM employees;
```
這個查詢將返回 `department` 列中所有不同的值,每個部門名稱在結果集中只出現一次,即使在 `employees` 表中每個部門可能有多個員工關聯。
注意事項
- 當你對多個列使用 `DISTINCT` 關鍵字時,MySQL將返回這些列的唯一組合。例如,`SELECT DISTINCT column1, column2 FROM table;` 將返回 `column1` 和 `column2` 的所有唯一組合。
- 使用 `DISTINCT` 可能會影響查詢性能,尤其是在處理大型數據集時。因為數據庫需要額外的步驟來確定哪些行是唯一的。
- 如果你僅對表中某一列的唯一值感興趣,而不是整個行的唯一組合,確保只在 `SELECT DISTINCT` 后面指定那一列的名稱。
`DISTINCT` 是一個非常有用的工具,尤其是在進行數據分析和數據清洗時,它能幫助你快速識別表中的唯一值和重復值。