1、起別名(別名不要有特殊符號,要是有,需要加引號引起來)
#便於理解
#如果查詢的字段有重名的情況,使用別名可以區分開
select 列名 as 名稱,列名 as 名稱 from 表;
或 select 列名 名稱,列名 名稱 from 表;
2、查詢員工表中涉及到的所有部門編號(distinct去重)
select distinct 列 from 表
3、+號的作用:
mysql中的+號只有一個運算功能
select 100+90; 兩個操作數都為數值型
select ‘123’+90; 其中一個為字符串,試圖將字符型數值轉換成數值型,如果成功,則繼續做加法計算
select ‘Alex’+90; 如果轉換失敗,則將字符型數值轉換為0
select null +90 只要一方為null 結果就為null
4、concat:拼接
查詢員工名和姓連接成一個字段,並顯示為姓名
select concat(列1,列2)as 姓名 from 表;
5、select concat (列1,‘,’,列2,',',ifnull(列3,任意顯示))as 名稱 from 表;
注(如果列3為null 拼接的時候就要把他設置一個固定顯示值,如果不是null會顯示本身值)
進階2:條件查詢
1、按條件表達式篩選
條件運算符:> < = <>不等於 >= <=
案例1:查詢工資>12000的員工信息
select * from 員工表 where 工資列>12000
案例2:查詢部門編號不等於90號的員工名和部門編號
select 員工名列 部門編號列 from 員工表 where 部門編號列 <>90
2、按邏輯表達式篩選
邏輯運算符: and和&&一樣:如果兩個都為true,結果為true,反之false
or和||一樣:只要有一個為true結果為true,反之false
not和!一樣:如果連接的條件本身為false,結果為true
案例1:查詢工資在10000到20000之間的員工名、工資和獎金
select 員工名,工資,獎金 from 員工表 where 獎金>=10000 and 獎金<=20000;
3、模糊查詢
like:一般和通配符搭配使用
% 任意多個字符,包含0個
_ 任意單個字符,就1個
案例1:員工名中包含字符a的員工信息
select * from 員工表 where 員工名 like ‘%a%’
between and
in
is null
select 查詢列表 from 表 where 篩選條件 order by asc(升序)/desc(降序)