首页 > SQL学习 > SQL基础知识 > SQL语句中的WHERE子句
2017
04-12

SQL语句中的WHERE子句

WHERE 子句用于过滤并提取那些满足指定标准的记录。

where条件中多个条件可以使用AND或者OR来连接。

WHERE 子句中的运算符:

=  等于    <>或者!=  不等于

>  大于    <  小于

>=  大于等于  <=  小于等于

BETWEEN  在某个范围内,select 字段1,字段2... from 表名 where 限制字段 between 值1 AND 值2;

子查询:一个查询需要另外一个查询的结果参与的时候

用于子查询的关键字:in、not in、exists、not exists等

in:语法:select * from 表1 where 表1字段 in(select 表2字段 from 表2 [where 条件]);

或者select * from 表 where 表字段 in(值1,值2,值3,...,值n);

表示:返回表1字段等于括号中返回的表2字段值的所有表1的数据。in后面的子语句必须只返回一个字段

exists:语法:select * from 表1 where exists(select 表2字段 from 表2 [where 条件]);

表示:返回查询结果为true的所有的表1的数据。

例:select t1.name form t1 where exists(select t2.jilu form t2 where t1.id=t2.eid)

解释:返回所有t2表中的eid值等于t1表中id值并且在t2表中eid对应的shuju字段有数据(技术为NULL)的所有t1表中的对应的id的数据。

exists:后面那个子语句有没有查询出记录来,如果查询出记录来返回true,否则就是false,并且查询出来的记录的具体的值是NULL也是没有关系,也是返回true.如果返回true那么表1的该记录输出。

指定模式 :LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

在 SQL 中,通配符与 SQL LIKE 操作符一起使用,在 SQL 中可使用以下通配符:

% 替代 0 个或多个字符   _ (下划线)替代一个字符

[charlist]  字符列中的任何单一字符

[^charlist]或[!charlist]  不在字符列中的任何单一字符

LIKE后面的匹配字符串要用单引号或双引号包起来。

SELECT * FROM db_name WHERE name LIKE '_oo%';

表示搜索name值第一个字符随意,第二个和第三个为o,之后字符串不限制的所有的列。

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。