MySQL學習筆記(2)

  • 條件查詢
SELECT 字段 FROM 表名 WHERE 篩選條件

where相當於其他編程語言中的if條件語句
1.按照條件表達式進行篩選:

#條件運算符
>大於 <小於 =等於(注意一個等號) !=(不等於) 
<>(不等於推薦使用)
>=(大於等於)  <=(小於等於)

2.按照邏輯表達式進行篩選:

#邏輯運算符
&&||!and or not  推薦使用

案例:
在這裏插入圖片描述
用條件查詢上述表中年齡大於30歲的記錄:

USE test;
SHOW TABLES;
SELECT
	*
FROM
	employee
WHERE
	age>30;

在這裏插入圖片描述

  • 模糊查詢
    1.關鍵字LIKE(意爲“像”,並不是精確查詢)
    例如查詢字段employee_name中含有字符t的記錄:
USE test;
SHOW TABLES;
SELECT
	*
FROM
	employee
WHERE
	employee_name LIKE "%t%";

在這裏插入圖片描述
也可以查詢employee_name中以字符t開頭的記錄:

SELECT
	*
FROM
	employee
WHERE
	employee_name LIKE "t%";

在這裏插入圖片描述
其中%爲通配符,可以匹配任意多個字符,包括0個字符。
也可以用_作爲佔位符,查詢某個位置處的相應字符:
在這裏插入圖片描述
比如對於上表我們要查詢10月份出生的記錄可以這樣寫:

USE test;
SHOW TABLES;
SELECT
	*
FROM
	employee
WHERE
	birth_date LIKE "_____10%";

在這裏插入圖片描述
2.BETWEEN AND
查詢字段值在某個區間的記錄(可以代替大於等於小於等於)

USE test;
SHOW TABLES;
SELECT
	*
FROM
	employee
WHERE
	age
BETWEEN
	24
AND
	30;

在這裏插入圖片描述
3.IN關鍵字

USE test;
SHOW TABLES;
SELECT 
		employee_id,employee_name
FROM
		employee
WHERE
		department IN ("R&D","Personnel");

在這裏插入圖片描述
查詢department爲"R&D"和"Personnel"的employee_id和employee_name,比下面常規的邏輯運算符的寫法簡便。

USE test;
SHOW TABLES;
SELECT 
		employee_id,employee_name
FROM
		employee
WHERE
		department="R&D" OR department="Personnel";

(注意:IN列表中的元素類型必須一致或者可以隱式轉換)
4.IS NULL關鍵字
在MySQL中,=等於號不支持右值爲NULL

USE test;
SHOW TABLES;
SELECT 
		*
FROM
		employee
WHERE
		bonus_rate=NULL;

運行程序不能得到結果:
在這裏插入圖片描述

USE test;
SHOW TABLES;
SELECT 
		*
FROM
		employee
WHERE
		bonus_rate IS NULL;

在這裏插入圖片描述
改爲IS NULL可以得到我們想要的結果。另外,還有IS NOT NULL:

USE test;
SHOW TABLES;
SELECT 
		*
FROM
		employee
WHERE
		bonus_rate IS NOT NULL;

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章