Mysql 簡單查詢

2021-09-24 13:14:39 字數 2963 閱讀 6889

1、查詢欄位的內容:可以是表中的字段、常量值、表示式、函式

#查詢常量、表示式、函式時在不涉及表中字段時無需from子句

select

100;

select

'john'

;select

100%90;

select version(

);

2、sql中的+是運算子,不能作為字串連線符,但如果+連線的字串可以轉化為數值型,則可以進行加法運算,詳細規則如下:

select

100+90;

# 190 運算元都為數值型,直接做加法運算

select

'123'+90

;# 213 運算元可以轉化為數值型,則先將運算元轉化為數值,再做加法運算

select

'123'

+'12'

;# 135

select

'john'+90

;# 90 #運算元不可轉化為數值型,則轉化為0

select

'john'

+'tom';#0

select

null+10

;#null 運算元中只要有乙個為null,則結果為null

3、sql中的concat(str1,str2,…)可以拼接多個引數,第三個形參是可變引數,但是要注意,這些引數中如果有乙個為null,則拼接後的結果就是null,因此在拼接查詢欄位時最好使用ifnull函式判斷一下

select concat(

'a',

'v',

'c',

'f')

;

sql中還有乙個isnull()函式:判斷某字段或表示式是否為null,如果是返回1,否則返回0

select

isnull( commission_pct )

from

employees

where

commission_pct is

notnull

limit1;

#結果為0

4、where子句中支援的條件表示式

1️⃣簡單條件運算子:>、<、=、!=(<>)、>=、<=、<=>(安全等於)

#查詢獎金率為null的員工資訊:安全等於既可以比對null值,也可以比對其他型別的值

select

*from

employees

where

commission_pct <=>

null

;#查詢last_name值為kochhar的員工資訊

select

*from

employees

where

last_name <=>

'kochhar'

;

2️⃣邏輯運算子:and(&&)、or(||)、not(!)

3️⃣模糊查詢:like、between…and…、in、is null

tip

1️⃣like中支援兩種萬用字元:%(任意多個任意字元)、_(乙個任意字元)

#查詢last_name中第3個字元為n第5個字元位l的員工資訊

select

*from

employees

where

last_name like

'__n_l%'

;

2️⃣like中支援轉義:使用\,也可以使用 escape 關鍵字自定義轉義字元

#查詢last_name中第2個字元為_的員工資訊

select

*from

employees

where

last_name like

'_\_%'

;#查詢last_name中第2個字元為_的員工資訊,使用escape關鍵字指定轉義字元

select

*from

employees

where

last_name like

'_$_%'

escape

'$';

5、排序:可以按照表示式排序、別名排序、函式排序

#查詢員工姓名和員工年薪並按年薪降序排列——表示式

select

last_name,

salary *12*

(1+ ifnull( commission_pct,0)

) 年薪

from

employees

order

by salary *12*

(1+ ifnull( commission_pct,0)

)desc

;#查詢員工姓名和員工年薪並按年薪降序排列——別名

select

last_name,

salary *12*

(1+ ifnull( commission_pct,0)

) 年薪

from

employees

order

by 年薪 desc

;#按函式排序

select

length( last_name ) 姓名長度,

salary *12*

(1+ ifnull( commission_pct,0)

) 年薪

from

employees

order

by length( last_name )

desc

,年薪 desc

;

tip:sql語句的執行順序是先執行from子句,接著執行where子句,然後執行select子句,其次是order by子句

mysql簡單查詢

建立查詢表 create table a a int create table b b int 插入資料 insert into a values 1 insert into a values 2 insert into b values 3 insert into b values 4 單錶查詢 ...

MySQL簡單查詢語法

1.專案中如何儲存日期時間資料 大體上有三種方式 1 varchar儲存 不足 不便於比較大小 2 date time datetime儲存 不足 不便於實現國際化 3 bigint儲存 表示距離計算集元年的毫秒值,任何程式語言都可以把大數字轉換成為 日期時間 2.mysql中使用自增列 id in...

MYSQL之 簡單查詢

單錶查詢語句 檢視所有 select from teacher 檢視特殊的行 select from teacher where tid 2 檢視特殊字段 select tname from teacher 分頁查詢 select from score limit 0,5 limit 起點 個數 表...