selectdistinct 字段1, 字段2,...from 表名;// 去重是针对(字段1,2,3...)组合显示的去重,不是仅针对字段1selectdistinct name, price from price ;
where条件语句
使用where条件查询可以对表中的数据进行筛选,条件成立的记录会出现在结果集中。
select 字段 from 表名 where 条件;# 简单的例子 id等于1的select*from price where id=1;
比较运算符
符合
=
>
>=
<
<=
!=或<>
意思
等于
大于
大于等于
小于
小于等于
不等于
# 查询 id“大于”3的select*from price where id>3;# 查询 id“不大于”20的select*from price where id<=20;# 查询 名称“不是”大蒜的select*from price where name!='大蒜';
逻辑运算符
关键字
and
or
not
意思
并且
或者
非
说明:多个判断条件想要作为一个整体,可以结合“()”。
# 查询 除了鸡蛋以外的单价小于10元的select*from price where name!="鸡蛋"and price<10;// 查询 单价不在15到20这个范围内的select*from price wherenot(price>=15and price<=20);// 查询 价格小于10或者价格大于50的select*from price where price<10or price>50;
模糊查询
关键字/符号
like
%
_
意思
模糊匹配
任意多个字符(类似*)
任意一个字符(类似.)
注意:模糊查询的条件需要用引号(""或'')括起来。
# 查询 名字中带有“份”的select*from price where name like"%份%";# 查询 名字以“彩”开头的select*from price where name like"彩%";# 查询 名字只有两个字的select*from price where name like'__';
范围查询
关键字
... between ... and ...
in
意思
在一个连续的范围内查询(闭区间)
在一个非连续的范围内查询
# 查询 id在3到8之间的select*from price where id between3and8;# 查询 id不是3到8 并且 价格大于20的select*from price wherenot(id between3and8)and price>20;# 查新 id是5、76、32、11、44、33的select*from price where id in(5,76,32,11,44,33);
空判断
关键字
is null
is not null
意思
判断为空
判断为非空
注意:null不等于空字符串,表示的是没有设置值的意思。
# 查询 价格为空的select*from price where price isnull;# 查询 价格不为空的select*from price where price isnotnull;