02查詢語法
阿新 • • 發佈:2021-10-29
Mysql2
查詢
基礎查詢語法:
select
查詢列表
from
表名
條件查詢語法:
select
查詢列表
from
表名
where
篩選條件;
分類:
一、按條件表示式篩選
條件運算子:> < = <> >= <=
二、按邏輯表示式篩選
邏輯運算子:(用於連線條件表示式)
&& || !
and or not
三、模糊查詢
like、between and、in 、is null
一、按條件表示式篩選
案例一:查詢員工工資>12000的員工資訊
SELECT
*
FROM
employees
WHERE
salary>12000;
案例二:查詢部門編號不等於90號的員工名和部門編號
SELECT
last_name,
department_id
FROM
employees
WHERE
department_id<>90;
二、按邏輯表示式篩選
案例一:查詢工資在10000到20000之間的員工名、工資以及獎金
SELECT last_name, salary, commission_pct FROM employees WHERE salary>=10000 && salary<=20000;
案例二:查詢部門編號不是在90到110之間,或工資高於15000的員工資訊
SElECT
*
FROM
employees
WHERE
NOT(department_id<90 && department_id>110 ) || salary>15000;
三、模糊查詢
1。like (特點:一般和萬用字元搭配使用)
萬用字元
%:包含任意多個字元(包含零個字元)
_:包含任意單個字元
案例一:查詢員工名中包含字元a的員工資訊
SELECT * FROM employees WHERE last_name like '%a%';//%為萬用字元表示還有其他字元
案例二:查詢員工名中第三個字元為e,第五個字元為a的員工名和工資
SELECT
last_name,
salary
FROM
employees
WHERE
last_name like '__e_a%';
案例三:查詢員工名中第二個字元為_的員工名
SELECT last_nameFROM employeesWHERE last_name like'_\_%';
2.between and
案例一:查詢員工編號在100到120之間的員工資訊
SELECT *FROM employeesWHERE employee_id between 100 and 120;
3.in
含義:用於去判斷某欄位的值是否屬於in列表中的某一項
特點:使用in提高語句簡潔度
in列表的值型別必須一致或相容
案例一:查詢員工的工種編號是 IT_PROG,AD_VP,AD_PRES中的一個員工名和工種編號
SELECT last_name, job_idFROM employeesWHERE job_id IN('IT_PROG','AD_VP','AD_PRES');
4.is null
is null 或 is not null 可以判斷null值
案例一:查詢沒有獎金的員工名和獎金率
SELECT last_name, commission_pct FROM employeesWHERE commission_pct IS NULL;
+號
mysql中 “+” 號僅一個功能:運算子
select 100+90; 兩個運算元都為數值型,則做加法運算select '123'+90;其中一方為字元型,試圖將字元型數值轉換為數值型: 1·如果轉換成功,則繼續做加法運算 2·如果轉換失敗,則將字元型數值轉換為0select 'john'+90;//90select null+10; 只要其中一方為null,則結果肯定為null
拼接
用concat函式
SELECT CONCAT('A','B','C')AS 結果;//拼接資料中加逗號SELECT CONCAt('a',',',b,',','c');
null和任何的資料欄位拼接結構都為null
IFNULL(某資料,0);//當該資料為null時將輸出為0;
DESC顯示錶中的結構
DESC 表名;
顯示出表中某資料的全部(不能重複)
SELECT DISTINCT ID FROM 某表;
顯示出表employees的全部列,各個列之間用逗號連線,列頭顯示成out_put
SELECT CONCAT() AS out_putFROM employees;