1. 程式人生 > 其它 >02查詢語法

02查詢語法

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;