基本比较符号
跟Java比较符号
=、!=、<>(不等于)、<、<=、>、>=;
BETTWEN…AND;表示范围
IN(set);
IS NULL;(为空) IS NOT NULL(不为空)(=NULL不能用来判断是否为空);
AND ;并且(&)
OR;或者(|)
NOT;非(!)
条件查询–where
(1)查询字段名下值大于(小于,等于)数值
select * form 表名 where 字段名 >数值;
(2)查询字段名下在某两数值时间
方式一:比较符号
select * from 表名 where 字段名>=值1 and 字段名<=值2;
方式二:bettwen…and
select * from 表名 where 字段名 between 值1 and 值2;
(3)或查询
select * from 表名 where 字段名>=值1 or 字段名<=值2;
(4)查询null值
以为比较符号不能判断null,所以使用is null 或者is not null
为空:select * from表名 where字段名 is null;
不为空:select * from表名 where字段名 is not null;
模糊查询
LIKE 通配符
LIKE ‘% a%’ a可以出现在任何位置
LIKE ‘a%’ a出现在开头位置
LIKE ‘% a’ a出现在末尾位置
LIKE ‘a_’ 第一个字符为a,后一个字符任意
LIKE ‘_a’ 前一个字符任意,后一个字符为 a
LIKE ‘[a-z]%’ 以a~z之间的字符开头的数据,包含a和z
具体使用
%是多个模糊字符通配符*
(1)查询姓名是A开头的人
select * from 表名 where 字段名 like ‘A%’;
(2)查询姓名是A结尾的人
select * from 表名 where 字段名 like ‘%A’;
(3)查询姓名中包含A的人
select * from 表名 where 字段名 like ‘%A%’;
_(下划线)是单个字符通配符
(1) 查询第二个字符是M的人
select * from emp where ename like ‘_M%’;
(2)查询这个名字是5个字符组成的人呢
select * from emp where ename like ‘_____’;
[ ]的使用 表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
例如 SELECT * FROM 表名 WHERE 字段名 LIKE ‘[张李王]三’
将找出“张三”、“李三”、“王三”(而不是“张李王三”);
如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
[^]的使用 表示不在括号所列之内的单个字符,要求所匹配对象为指定字符以外的任一个字符
例如 SELECT * FROM 表名 WHERE 字段名 LIKE ‘[^张李王]三’
将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;