mysql简单查询_Mysql简单查询2

1、范围查询-between and

格式: where 列名 between minvalue and maxvalue 闭区间[minvalue,maxvalue]

(1)选择id,商品品名称,批发价在3000-4000之间的商品

select id, product_name,sale_price*cutoff from t_product

where sale_price*cutoff between 3000 and 4000

(2)选择id,商品名称,批发价不在3000-4000之间的商品

select id, product_name,sale_price*cutoff from t_product

where sale_price*cutoff not between 3000 and 4000

select id, product_name,sale_price*cutoff from t_product

where not sale_price*cutoff between 3000 and 4000

select id, product_name,sale_price*cutoff from t_product

where !(sale_price*cutoff between 3000 and 4000)

2、集合查询-in

格式: where 列名 in (值1,值2....)

where 列名 not in (值1,值2....)

(1)选择id,商品名称,类型编号为2,4的所有商品

select id, product_name,category_id from t_product where category_id in (2,4)

(2)选择id,商品名称,类型编号不为2,4的所有商品

select id, product_name,category_id from t_product where category_id not in (2,4)

3、空值查询-is null

is null:判断列的值是否为空。

格式: where 列名 is null

select * from t_product where product_name = null {查询为null的不能使用 等号= 赋值查询}

select * from t_product where product_name is null

3-1、非空值查询-is not null

格式: where 列名 is not null

select * from t_product where product_name is not null {查询product_name不为null的}

4、模糊查询-like

%通配符:代表任意零或多个字符。

_通配符:代表任意一个字符。

查询id,商品名称,商品名称匹配 '%黑米MI_'

select id, product_name from t_product where product_name like '%黑米MI_'

查询id,商品名称,商品名称匹配 '%米M%'

select id, product_name from t_product where product_name like '%米M%'

查询id,商品名称,类型编号,零售价大于等于2000并且商品名称匹配'黑米M%'

select id, product_name,category_id ,sale_price from t_product

where sale_price >=2000 and product_name like '黑米M%'

5、查询结果排序

使用 order by 子句将记录排序

asc : 升序,缺省

desc: 降序

order by 子句出现在SELECT语句的最后

select语句执行顺序:

先执行from--->接着执行where--->再执行select--->最后执行order by

格式:

select

from table_name

wherr 条件

order by 列名1 [ASC/DESC],列名2 [ASC/DESC]...;

【order by后面可接多个列名,即先按列名1排序后,再将(列名1相同的数据)再按列名2排序】

(1)查询所有商品按照类型编号排序

select * from t_product order by category_id asc

(2)查询所有商品按照类型编号category_id排序、再按照折扣cutoff排序

select * from t_product order by category_id asc,cutoff asc

{order by后接了两个列名表示:先将数据按category_id升序排序,此时category_id是有重复的值的,这些重复的值是没有按照什么规则排序的,

故此时加上列名2-cutoff,就将ategory_id这些重复的值按照列名2-cutoff再排序}

e2d802d9b1dd

order_by.png

(3)查询所有商品并按照批发价排序(加上别名)

select id,product_name,sale_price*cutoff from t_product order by sale_price*cutoff desc

select id,product_name,sale_price*cutoff as pfj from t_product order by pfj desc

(4)查询类型为2并按照批发价排序(加上别名)

select id,product_name,category_id,sale_price*cutoff from t_product where category_id=2 order by sale_price*cutoff

select id,product_name,category_id,sale_price*cutoff as pfj from t_product where category_id=2 order by pfj

注意:尽量不要使用中文的别名排序。{因为order by是在select之后执行的,所以它可以使用别名}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值