单列排序
#对prod_id进行升序排序
select prod_id from products order by prod_id;
多列排序
#先对prod_price进行排序,再按照prod_id列进行排序。
select prod_id,prod_price from products order by prod_price,prod_id;
单列降序
#将desc置于列名后,此列进行降序排序(desc只对作用于前的列名)
#此处按价格降序排序
select prod_price from products order by prod_price desc;
多列降序
# 查找序号,名称,价格,先按照价格降序排序,然后对名称降序排序;
select prod_id,prod_name, prod_price from products order by prod_price desc,prod_name desc;
使用limit找最大值
格式:先order by列,desc置于其后,再放limit数据;
#查找prod_price列,然后进行降序排序,返回第一行数据;
select prod_price from products order by prod_price desc limit 1;
使用limit找最小值
#查找prod_price列,进行升序排序,返回第一行数据;
select prod_price from products order by prod_price limit 1;
价格<=2.5的名称、价格
select prod_name,prod_price from products where prod_price <=2.5;
名称='fuses’;不区分大小写
select prod_name,prod_price from products where prod_price ='fuses';
使用!=进行不匹配检查
select prod_name ,prod_price from products where prod_price !=1003;
使用<>进行不匹配检查
select prod_name,prod_price from products where prod_price <>1003;
a between b 包括a和b
#搜索价格大于等于2.5和小于等于10的商品名、价格;
select prod_name,prod_price from products where prod_price between 2.5 and 10;
搜索空值的前提:列允许为空的情况下,否则无意义;
#搜索价格为空值的名称、价格
select prod_name,prod_price from products where prod_price is null;
#搜索顾客表id中email为空的情况
select cust_id from customers where email_id is null;
使用and 和or连接where字句
(1)or操作符,符合其中一个条件即可
#查找供应商为1002或者1003的供应商对应的产品名、价格
select vend_id,prod_name,prod_price from products where vend_id=1002 or vend_id=1003;
(2)and操作符,需要符合and连接的两个条件
#查找供应商等于1003,且产品价格小于等于2.5对应的产品名、价格
select vend_id,prod_name,prod_price from products where vend_id=1003 and prod_price <=2.5;
(3)and 和or连接时的优先级;
and连接部分优先计算,再计算or
#查找供应商vend_id=1002 或者供应商vend_id等于1003且产品价格小于等于2.5;
select vend_id,prod_name,prod_price from products where vend_id=1002 or vend_id=1003 and prod_price<=2.5;
使用()定义and和or计算的优先级
#查找供应商vend_id=1002或1003,且产品价格小于等于2.5的产品名、价格
select vend_id ,prod_name,prod_price from products where (vend_id=1002 or vend_id=1003) and prod_price <=2.5;
in 操作符后跟由括号()组成的合法清单,整个清单必须在圆括号中
in 后面的合法清单与or关键字的功能相同
#查找供应商vend_id为1002或1003的供应商、产品名、价格
select vend_id,prod_name,prod_price from products where vend_id in (1002,1003);
与上面语句的功能一致
#查找供应商vend_id为1002或1003的供应商、产品名、价格
select vend_id ,prod_name,prod_price from products where vend_id=1002 or vend_id=1003;
提示:not 对in,between,exsits取反
(1)not与in连接,取不符合in组成的核发清单的数据
#查找vend_id为1002或者1003以外的供应商、产品名、价格,并且排序
select vend_id,prod_name,prod_price from products where vend_id not in (1002,1003) order by prod_name;