MySQL筆記 —SQL運(yùn)算符
1.算術(shù)運(yùn)算符
+ | - | * | /或DIV | %或MOD |
/或DIV
select 100/5,100 DIV 5 from dual;
結(jié)果:
100/5 | 100 DIV 5 |
20.0000 | 20 |
注意:/結(jié)果是浮點(diǎn)型有結(jié)果20.0000,但是DIV結(jié)果是20
取模運(yùn)算%
或MOD
select 10 % 2,10 % 3,12 MOD -4 from dual;
結(jié)果:
10 % 2 | 10 % 3 | 12 MOD -4 |
0 | 1 | 0 |
2.比較運(yùn)算符
< | > | = | <=> | <>或!= | <= | >= |
小于 | 大于 | 等于 | 安全等于 | 不等于 | 小于等于 | 大于等于 |
<=>
第一次學(xué)到比較特殊
select null <=> null,null = null,null != null from dual;
結(jié)果:
null<=>null | null=null | null!=null |
1 | null | null |
因此可以得出<=>就是為NULL而生,其余只要運(yùn)算中有null
結(jié)果為null
。
具體關(guān)鍵字
IS NULL
等于<=>NULL
運(yùn)算及結(jié)果一樣
ISNULL
與IS NULL
也一樣,但用法有點(diǎn)不一樣
select salary from empty where salary is null; select salary from empty where isnull(salary); select salary from empty where salary <=> null;
大家在運(yùn)用過(guò)程中最好最好用is null
跟is not null
;
LEAST()
跟min()
,CREATEST()
跟max()
一樣,還是建議用min
與max
BETWEEN
條件1 AND 條件2 (查詢條件1到條件2范圍數(shù)據(jù),包含邊界。條件1是下限,條件2是上限)
select * from emp where salary between 3000 and 5000;
在emp表查詢工資在3000到5000的員工信息
in
與not in
在course
表查詢選修了(name)數(shù)據(jù)庫(kù),線性代數(shù),概率論的同學(xué)信息
select *? from course where name in('數(shù)據(jù)庫(kù)','線性代數(shù)','概率論'); #where name='數(shù)據(jù)庫(kù)' or name='線性代數(shù)' or name='概率論';
很明顯in對(duì)多個(gè)數(shù)據(jù)選擇更加方便了,如果查不在里面的用not in()
即可
like模糊查詢
在stu
表查詢了(name
)性劉的同學(xué)信息
select * from stu where name like'劉%';
在stu表查詢了(name)名字包含為劉的同學(xué)信息
select * from stu where name like'%劉%';
stu表查詢了(name)名字包含劉也包含壯的同學(xué)信息
select * from stu where name like'%劉%' and name like'%壯%';
在stu表查詢了(name)名字第二個(gè)字為劉的同學(xué)信息
select * from stu where name like'_劉%';
u表查詢了(name)名字第二個(gè)為_(kāi)且第三個(gè)字為劉的同學(xué)信息(需要使用轉(zhuǎn)移字符\)
select * from stu where name like'_\_劉%';
不使用轉(zhuǎn)移字符需要表中用escape
(&不是必須的可以用任意字符)
select * from stu where name like'_&_劉%' escape '&';
正則表達(dá)式:(了解)
REGEXP
運(yùn)算符用來(lái)匹配字符串,語(yǔ)法格式為:expr REGEXP
匹配條件。如果expr滿足匹配條件,返回1;如果不滿足,則返回0。若expr或匹配條件任意一個(gè)為NULL,則結(jié)果為NULL。
REGEXP運(yùn)算符在進(jìn)行匹配時(shí),常用的有下面幾種通配符:
- (1)‘^’匹配以該字符后面的字符開(kāi)頭的字符串。
- (2)‘$’匹配以該字符前面的字符結(jié)尾的字符串。
- (3)‘.’匹配任何一個(gè)單字符。
- (4)“[...]”匹配在方括號(hào)內(nèi)的任何字符。例如,“[abc]”匹配“a”或“b”或“c”。為了命名字符的范圍,使用一個(gè)‘-’。“[a-z]”匹配任何字母,而“[0-9]”匹配任何數(shù)字。(3.4自我理解跟like差不多)
- (5)‘*’匹配零個(gè)或多個(gè)在它前面的字符。例如,“x*”匹配任何數(shù)量的‘x’字符,“[0-9]*”匹配任何數(shù)量的數(shù)字,而“*”匹配任何數(shù)量的任何字符。
3.邏輯運(yùn)算符
NOT或! | AND或&& | OR或|| | XOR |
邏輯非 | 邏輯與 | 邏輯或 | 邏輯異或 |
注意:
OR可以和AND一起使用,但是在使用時(shí)要注意兩者的優(yōu)先級(jí),由于AND的優(yōu)先級(jí)高于OR,因此先對(duì)AND兩邊的操作數(shù)進(jìn)行操作,再與OR中的操作數(shù)結(jié)合。
主要XOR有點(diǎn)陌生,有且只能取一方。
4.位運(yùn)算符
& | | | ^ | ~ | >> | << |
換位與(位AND) | 換位或(位OR) | 換位異或(位XOR) | 按位取反 | 按位右移 | 按位左移 |
了解即可。
到此這篇關(guān)于MySQL筆記 —SQL運(yùn)算符的文章就介紹到這了,更多相關(guān) SQL運(yùn)算符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在MySQL數(shù)據(jù)庫(kù)中復(fù)位根用戶的密碼的方法
2007-12-12Python3.6-MySql中插入文件路徑,丟失反斜杠的解決方法
下面小編就為大家?guī)?lái)一篇Python3.6-MySql中插入文件路徑,丟失反斜杠的解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06Mysql安裝注意事項(xiàng)、安裝失敗的五個(gè)原因分析
這篇文章主要介紹了Mysql安裝注意事項(xiàng)、安裝失敗的五個(gè)原因分析,需要的朋友可以參考下2016-04-04SQL Server 數(shù)據(jù)庫(kù)的備份詳細(xì)介紹及注意事項(xiàng)
這篇文章主要介紹了SQL Server 備份詳細(xì)介紹及注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下2016-12-12MySQL空間數(shù)據(jù)存儲(chǔ)及函數(shù)
這篇文章主要介紹的使MySQL空間數(shù)據(jù)存儲(chǔ)及函數(shù),MySQL提供了數(shù)據(jù)類型geometry用來(lái)存儲(chǔ)坐標(biāo)信息,MySQL為空間數(shù)據(jù)存儲(chǔ)及處理提供了專用的類型geometry,下面就和小編一起學(xué)習(xí)下文吧2021-09-09