網(wǎng)站建設(shè)交易注冊域名在哪里注冊
目錄
1 學(xué)習(xí)目標(biāo)
2 基礎(chǔ)查詢
2.1 語法
2.2 例子
3 條件查詢
3.1 含義
3.2 語法
3.3 條件表達(dá)式
3.3.1 條件運(yùn)算符
3.3.2 例子
3.4 邏輯表達(dá)式
3.4.1 邏輯運(yùn)算符
3.4.2 例子
3.5 模糊查詢
3.5.1 概述
3.5.2 例子
4 DISTINCT關(guān)鍵字
4.1 含義
4.2 例子
5 總結(jié)
一鍵三連哦!各位袁友......
1 學(xué)習(xí)目標(biāo)
- 重點(diǎn)掌握基礎(chǔ)查詢語法
- 重點(diǎn)掌握條件查詢語法
- 重點(diǎn)掌握distinct關(guān)鍵字的使用
2 基礎(chǔ)查詢
2.1 語法
SELECT 字段1,字段2,... [FROM 表名];
-
備注
類似于Java中 :System.out.println(要打印的東西);
特點(diǎn):
① 通過select查詢完的結(jié)果 ,是一個虛擬的表格,不是真實存在
② 要查詢的東西可以是常量值、可以是表達(dá)式、可以是字段、可以是函數(shù)
2.2 例子
①切入到hr庫
USE hr;
②查詢employees表中的所有字段內(nèi)容,省略字段
SELECT * FROM employees;
③查詢employees表中的所有字段內(nèi)容,不省略字段
SELECT employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id
FROM employees;
④查詢employees表中的部分字段,但是字段顯示順序為first_name、last_name、email
SELECT first_name,last_name,email
FROM employees;
⑤查詢employees表中的部分字段,但是字段顯示順序為email、last_name、first_name
SELECT email,last_name,first_name
FROM employees;
3 條件查詢
3.1 含義
- 條件查詢:根據(jù)條件過濾原始表的數(shù)據(jù),查詢到想要的數(shù)據(jù)
3.2 語法
SELECT 要查詢的字段|表達(dá)式|常量值|函數(shù)
FROM 表
WHERE 條件;
3.3 條件表達(dá)式
3.3.1 條件運(yùn)算符
條件運(yùn)算符 | 含義 |
---|---|
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
= | 等于 |
!= | 不等于 |
<> | 不等于 |
BETWEEN 小 AND 大 | 在指定范圍之間 |
IN | 在一組指定的值中取值 |
IS NULL | 字段為NULL |
3.3.2 例子
①查看employees表結(jié)構(gòu)
DESC employees;
②查詢員工id是110的員工部分信息
SELECT employee_id, first_name, salary
FROM employees
WHERE employee_id = 110;
③查詢50部門的員工
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE department_id = 50;
④查詢不在50部門的員工(排除50部門)
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE department_id <> 50;
或者
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE department_id != 50;
⑤查詢工資小于 3000的員工
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE salary < 3000;
⑥查詢工資是 [8000, 9000]范圍的員工
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE salary BETWEEN 8000 AND 9000;
⑦查詢主管id是100、120、122的員工
SELECT employee_id, first_name, salary, manager_id
FROM employees
WHERE manager_id IN (100, 120, 122);
⑧沒有主管的人(manager_id 是null值)
SELECT employee_id, first_name, salary, manager_id
FROM employees
WHERE manager_id IS NULL;
3.4 邏輯表達(dá)式
3.4.1 邏輯運(yùn)算符
邏輯運(yùn)算符 | 含義 |
---|---|
&& | 兩個條件如果同時成立,結(jié)果為true,否則為false |
AND | 兩個條件如果同時成立,結(jié)果為true,否則為false |
|| | 兩個條件只要有一個成立,結(jié)果為true,否則為false |
OR | 兩個條件只要有一個成立,結(jié)果為true,否則為false |
NOT | 如果條件成立,則not后為false,否則為true |
3.4.2 例子
①查詢工資是 [8000, 10000]范圍的員工
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE salary >= 8000 AND salary <= 10000;
或者
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE salary >= 8000 && salary <= 10000;
②查詢薪資等于8000或者薪資等于10000的員工
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE salary = 8000 OR salary = 10000;
或者
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE salary = 8000 || salary = 10000;
③查詢工資<3000,或者工資>15000
SELECT employee_id, first_name, salary
FROM employees
WHERE salary < 3000 OR salary > 15000;
或者
SELECT employee_id, first_name, salary
FROM employees
WHERE salary NOT BETWEEN 3000 AND 15000;
④排除部門50,80,100,60
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE department_id NOT IN(50,80,100,60);
⑤有提成的員工,commission_pct不是null
SELECT employee_id, first_name, salary, commission_pct
FROM employees
WHERE commission_pct IS NOT NULL;
3.5 模糊查詢
3.5.1 概述
-
使用LIKE關(guān)鍵字可以進(jìn)行字符串的模糊查詢,但是需要使用通配符
-
通配符
- _ 單個字符
- % 多個字符
-
格式示例
LIKE '%X%' 表示字符串中包含字符X
LIKE '_X%' 表示字符串中第二個字符是X
LIKE 'X%' 表示字符串以X開始
LIKE '%X' 表示字符串以X結(jié)束
LIKE '%X_Y' 表示字符串倒數(shù)第三個字符數(shù)X并且最后一個字符是Y
3.5.2 例子
①查詢first_name中包含'en'的員工信息
SELECT employee_id, first_name, salary
FROM employees
WHERE first_name LIKE '%en%';
②first_name第三個和第四個字符是'en'
SELECT employee_id, first_name, salary
FROM employees
WHERE first_name LIKE '__en%';
③排除電話中包含'44'
SELECT employee_id, first_name, salary, phone_number
FROM employees
WHERE phone_number NOT LIKE '%44%';
4 DISTINCT關(guān)鍵字
4.1 含義
- 去除重復(fù)數(shù)據(jù)
4.2 例子
①所有的部門id(要求部分id不重復(fù)顯示),并且不顯示null
SELECT DISTINCT department_id
FROM employees
WHERE department_id IS NOT NULL;
②所有部門中,有哪些工作崗位
SELECT DISTINCT department_id,job_id
FROM employees
WHERE department_id IS NOT NULL;
5 總結(jié)
①基礎(chǔ)查詢
使用SELECT語句可以從數(shù)據(jù)庫中檢索數(shù)據(jù)。以下是基本SELECT語句的一般格式:
SELECT column1, column2, ...
FROM table_name;
此語句將返回表格“table_name”中所有行的“column1”、“column2”等列。
②條件查詢
條件查詢使用WHERE子句來過濾要返回的行。以下是使用WHERE子句的SELECT語句的一般格式:
SELECT column1, column2, ...
FROM table_name WHERE condition;
其中,“condition”是一個邏輯表達(dá)式,它定義了要返回哪些行。例如,要檢索“employees”表中工資大于50000的員工的姓名和姓氏,請執(zhí)行以下操作:
SELECT first_name, last_name
FROM employees
WHERE salary > 50000;
③DISTINCT關(guān)鍵字
DISTINCT關(guān)鍵字用于從結(jié)果集中返回唯一的值。以下是DISTINCT關(guān)鍵字的一般格式:
SELECT DISTINCT column1, column2, ...
FROM table_name;
此語句將返回表格“table_name”中所有唯一的“column1”、“column2”等列。
例如,要獲取“employees”表中唯一的職位列表,請執(zhí)行以下操作:
SELECT DISTINCT job_title
FROM employees;
上篇文章:MySQL數(shù)據(jù)庫的基本概念(day23)-CSDN博客https://blog.csdn.net/Z0412_J0103/article/details/141679002下篇文章:SQL的高級查詢練習(xí)知識點(diǎn)中(day25)-CSDN博客
https://blog.csdn.net/Z0412_J0103/article/details/141804900