日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Mysql条件查询语句(二)

發布時間:2023/12/31 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql条件查询语句(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、between……and……操作符

1、查詢薪水為1600到3000的員工(第一種方式:采用>= 、<=)
例如:select empno,ename,sal from emp where sal >= 1600 and sal <= 3000;

2、查詢薪水為1600到3000的員式(第二種方式:采用between…and…)
例如:select empno,ename,sal from emp where sal between 1600 and 3000;

注:關亍between … and … 它是包含最大值和最小值的
3、between … and … 同樣也可用在字符上,用在字符上區間為:前閉后開;
例如: select ename from emp where ename between “A”and “F”;

二、is null

Null 為空,它不是一個數值,不是一個空串,為null可以設置這個字段不填值,如果查詢為null的字段,采用is null。
1、查詢津貼為空的員工
錯誤: select empno,ename,comm from emp where comm = null;

原因:以上無法查詢出符合條件的數據,因為null類型比較特殊,必須使用 is 來比較
正確:select empno,ename,comm from emp where comm is null;

2、查詢津貼不為空的員工
例如:select empno,ename,comm from emp where comm is not null;

三、and:表示并且,表示所有查詢條件必須滿足

1、查詢工作崗位為“MANAGER”并且薪水大于2500的員工
例如:select empno,ename,job,sal from emp where job =?MANAGER? and sal > 2500;

四、or:只要滿足條件即可,相當于包含

1、查詢出 job 為 SALESMAN 和 job為MANAGER的員
例如: select ename,job from emp where job = “SALESMAN”or job = “MANAGER”;

五、and不or表達式的優化級

and的優先級高于or
1、查詢薪水大于1800,并且部門編號為20或30的員工
例如: 錯誤:select * from emp sal>1800 and deptno=20 or deptno = 30;

分析:以上輸出的結果不是是我們預期的結果,薪水小于1800的也查出來了,原因是表達式的優先級導致的,首先SQL語句過濾了 sal > 1800 and deptno = 20,然后再將deptno = 30的員工合并過來,所以是不正確的
正確: select * from emp where sal>1800 and (deptno=20 or deptno=30);

注: 關亍運算符的問題不用死記硬背,沒有把握的盡量采用括號;

六、 in:表示包含的意思,完全可以采用or來表示,采用in會更簡潔一些。

1、. 查詢出Job為 SALESMAN 和 Job為 MANAGER 的員工
例如: select ename,job from emp where job in (“SALESMAN”,“MANAGER”);

2、查詢出薪水為1600和3000的員工
例如: select ename,sal from emp where sal in (1600,3000);

3、查詢出薪水不是1600和3000的員工
例如: select ename,sal from emp where sal not in (1600,3000);

七、not

1、第一種寫法:查詢出薪水不是1600和薪水不是3000的員工
例如: select ename,sal from emp where sal <> 1600 and sal <> 3000;

2、第二種寫法:查詢出薪水不是1600和薪水不是3000的員工
例如: select ename,sal from emp where not (sal = 1600 or sal = 3000);

3、第三種寫法:查詢出薪水不是1600和薪水不是3000的員工
例如: select ename,sal from emp where sal not in (1600,3000);

4、查詢出津貼不為null的員工
例如: select * from emp where comm is not null;

八、Like :可以實現模糊查詬,like支持%和下劃線匹配

1、查詢以姓名以 M 開頭的所有員工‘M%’
例如: select ename from emp where ename like “M%”;

2、查詢姓名以N結尾的所有員工‘%N’
例如: select ename from emp where ename like “%N”;

3、查詢姓名中包含O的所有員工‘%O%’
例如: select ename from emp where ename like “%O%”;

4、查詢姓名中第二個字符為A的所有員工‘_A%’
例如: select ename from emp where ename like “_A%”;

5、查詢姓名中倒數第二個字符為E的所有員工‘%E_’
例如: select ename from emp where ename like “%E_”;

6、查詢姓名中第三個字符為N的所有員工姓名‘__R%’
例如: select ename from emp where ename like “R%”;

總結

以上是生活随笔為你收集整理的Mysql条件查询语句(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。