mysql使用过程中的几个细节注意点
由于博主目前在數據部門工作,接觸最多的關系型數據庫就是mysql,因為業務部門的數據一般都是存儲在mysql,而最終數據需要在大數據平臺上管理,所以中間過程少不了ETL,以及給數據分析BI人員提供數據,這樣就會導致寫很多的sql,關于sql,博主也是半路出家,野路子,所以難免會犯錯誤,下面整理幾個細節,最近體會到的。
1. UNION關鍵字
MySQL UNION 操作符用于連接兩個以上的 SELECT 語句的結果組合到一個結果集合中。多個 SELECT 語句會刪除重復的數據。
下面要重點注意UNION后面的關鍵字DISTINCT和ALL,使用不同,獲取的數據也不同,細節。
語法
SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions] UNION [ALL | DISTINCT] SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions];參數
expression1, expression2, ... expression_n: 要檢索的列。
tables: 要檢索的數據表。
WHERE conditions: 可選, 檢索條件。
DISTINCT: 可選,刪除結果集中重復的數據。默認情況下 UNION 操作符已經刪除了重復數據,所以 DISTINCT 修飾符對結果沒啥影響。
ALL: 可選,返回所有結果集,包含重復數據。
2.NULL 值處理
MySQL 使用 SQL SELECT 命令及 WHERE 子句來讀取數據表中的數據,但是當提供的查詢條件字段為 NULL 時,該命令可能就無法正常工作。
特別注意,NULL的比較不能使用= NULL 或 != NULL
為了處理這種情況,MySQL提供了三大運算符:
- IS NULL: 當列的值是 NULL,此運算符返回 true。
- IS NOT NULL: 當列的值不為 NULL, 運算符返回 true。
- <=>:?比較操作符(不同于=運算符),當比較的的兩個值為 NULL 時返回 true。
關于 NULL 的條件比較運算是比較特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。
在 MySQL 中,NULL 值與任何其它值的比較(即使是 NULL)永遠返回 false,即 NULL = NULL 返回false 。
MySQL 中處理 NULL 使用 IS NULL 和 IS NOT NULL 運算符。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的mysql使用过程中的几个细节注意点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R 缺失值处理
- 下一篇: mysql中ifnull和hive中if