yhdata_38fa8dc0 发表于 2023-3-17 19:03:35

SQL语句-Where实例案例(举一反三)

因自己对SQL语句处于小白状态,经常在网络上飘来飘去,后面遇到一些实用案例,举一反三、依葫芦画瓢还是能满足一些自己的需求,也希望对大家有所帮助(网络搬运工):对于Where语句,主要是进行条件筛选,例子如下:


Where 子句搜索 empno 等于 7900 的数据:Select * from emp where empno=7900;Where +条件(筛选行)条件:列,比较运算符,值比较运算符包涵:= > < >= ,<=, !=,<> 表示(不等于)Select * from emp where ename='SMITH';例子中的 SMITH 用单引号引起来,表示是字符串,字符串要区分大小写。逻辑运算And:与 同时满足两个条件的值。Select * from emp where sal > 2000 and sal < 3000;查询 EMP 表中 SAL 列中大于 2000 小于 3000 的值。Or:或 满足其中一个条件的值Select * from emp where sal > 2000 or comm > 500;查询 emp 表中 SAL 大于 2000 或 COMM 大于500的值。Not:非 满足不包含该条件的值。select * from emp where not sal > 1500;查询EMP表中 sal 小于等于 1500 的值。逻辑运算的优先级:()    not      and         or

特殊条件1.空值判断: is nullSelect * from emp where comm is null;查询 emp 表中 comm 列中的空值。2.between and (在 之间的值)Select * from emp where sal between 1500 and 3000;查询 emp 表中 SAL 列中大于 1500 的小于 3000 的值。注意:大于等于 1500 且小于等于 3000, 1500 为下限,3000 为上限,下限在前,上限在后,查询的范围包涵有上下限的值。3.InSelect * from emp where sal in (5000,3000,1500);查询 EMP 表 SAL 列中等于 5000,3000,1500 的值。4.likeLike模糊查询Select * from emp where ename like 'M%';查询 EMP 表中 Ename 列中有 M 的值,M 为要查询内容中的模糊信息。
[*] % 表示多个字值,_ 下划线表示一个字符;
[*] M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
[*] %M% : 表示查询包含M的所有内容。
[*] %M_ : 表示查询以M在倒数第二位的所有内容。


天问台 发表于 2023-3-30 09:36:07

写得很好,但有一丢丢小意见。

Select * from emp where ename='SMITH';
例子中的 SMITH 用单引号引起来,表示是字符串,字符串要区分大小写。

特意验证了下,在SQLSERVER 2008 R2环境下,条件不区分大小写

而且度娘说:【MySQL】MySQL的where条件字符串区分大小写的问题_mysql where 区分大小写_浮云6363的博客-CSDN博客https://blog.csdn.net/lz6363/article/details/107441840

yhdata_38fa8dc0 发表于 2023-3-31 20:23:57

天问台 发表于 2023-3-30 01:36
写得很好,但有一丢丢小意见。

Select * from emp where ename='SMITH';


{:4_93:}

天问台 发表于 2023-4-1 10:45:01

yhdata_38fa8dc0 发表于 2023-3-31 20:23


{:4_110:}

yao3979 发表于 2023-4-5 22:35:34

学习

yhdata_dhm 发表于 2023-7-10 09:01:05

学习

yh_8Kf3pyJT 发表于 2024-3-12 11:11:18

很有帮助
页: [1]
查看完整版本: SQL语句-Where实例案例(举一反三)