MySQL資料庫學習2(SQLyog)
轉載文章請注明出處
本節所需要的檔案:
鏈接:https://pan.baidu.com/s/18ZmrHK8nzvG39y7rLz7d0w
提取碼:2lxu
檔案均出自B站尚硅谷相關學習視頻,本節檔案通過小海豚打開
一、DQL語言的學習(二)
學習內容:
其他知識點
(1)查詢已知表的結構,使用關鍵字desc
舉例:
DESC employees;
運行結果:

基礎查詢(補上一節知識點)
#拼接函式concat(后期學習函式,也會講到)
(1)和c++語言類似,拼接均使用關鍵字concat
舉例:
SELECT CONCAT ('a','b','c') AS 結果;
SELECT CONCAT (last_name,first_name) AS 姓名 FROM employees;
運行結果:


條件查詢
語法:
select
查詢串列from
表名where
篩選條件
分類:
一、按條件運算式篩選
條件運算式運算子:
< 、>、 =、 !=(不等于)、 <>(MySQL中的不等于)、 >=、 <=
#案例一
查詢工資大于12000 的所有員工資訊
SELECT
*
FROM
employees
WHERE salary > 12000 ;
運行結果:
#案例二
查詢部門編號不等于90的員工的名和部門編號
SELECT
last_name,
department_id
FROM
employees
WHERE department_id <> 90 ;
運行結果:

二、按照邏輯運算式篩選
邏輯運算子:
&&、 ||、 !(同樣適用)
and 、or 、not(是MySQL中的標準格式)
#案例一
查詢工資在10000到20000之間的員工名、工資以及獎金
SELECT
last_name,
salary,
commission_pct
FROM
employees
WHERE salary >= 10000
AND salary <= 20000 ;
運行結果:

#案例二
查詢部門編號不是在90到110之間,或者工資高于15000的與員工資訊,
SELECT
*
FROM
employees
WHERE NOT (
department_id >= 90
AND department_id <= 110
)
OR salary > 15000 ;
運行結果:

三、模糊篩選
like、between and 、in 、is null 、is not null
#1.like
特點:
(1)可以和通配符一起使用
% 任意多個字符
_ 任意單個字符
#案例一
查詢員工名中包含字符a的員工資訊
SELECT
*
FROM
employees
WHERE last_name LIKE '%a%' ;
注意:字符一定要用單引號,并且含有a說明前后都可能有字符,所以前后都要有%
運行結果:

#案例二
查詢員工名中的第三個字符為e,第五個字符為a的員工名和工資
SELECT
last_name,
salary
FROM
employees
WHERE '__e_a%' ;
#案例三
查詢員工名中的第二個字符為_的員工名
SELECT
last_name
FROM
employees
WHERE last_name LIKE '_\_%' ;
注意:_作為通配符,可以使用\進行轉譯
運行結果:

#2.between and
特點:
(1)包含臨界值
(2)and兩端的值不能調換
#案例一
查詢員工編號在100到120之間的員工資訊
SELECT
*
FROM
employees
WHERE employee_id BETWEEN 100
AND 120 ;
運行結果:

#3.in
#案例一
查詢員工的工種編號是IT_PROG、AD_VP、AD_PRES中的一個員工名和工種編號
SELECT
last_name,
job_id
FROM
employees
WHERE job_id IN ('IT_PROG', 'AD_VP', 'AD_PRES') ;
運行結果:

#4.is null
#案例一
查詢沒有獎金的員工名和獎金率
SELECT
last_name,
commission_pct
FROM
employees
WHERE commission_pct IS NULL ;
運行結果:

注意:Tip:<=>為安全等于符號,既可以判斷null值又可以判斷普通值,相當于等于號但是可讀性較差,
#測驗題
#1.查詢沒有獎金,且工資小于18000的工資和員工名
SELECT
salary,
last_name
FROM
employees
WHERE commission_pct IS NULL
AND salary < 18000 ;
#2.查詢employees表中,工種編號不為’IT’或者工資為12000的員工資訊
SELECT
*
FROM
employees
WHERE job_id <> 'IT'
OR salary = 12000 ;
#3.查看部門departments表的結構
DESC departments;
#4.查詢部門departments表中涉及到了哪些位置編號
SELECT DISTINCT
location_id
FROM
departments ;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/208520.html
標籤:其他
