[My SQL] 组合查询

MySQL允许执行多个查询(多条SELECT语句),并将结果作为单个数据集显示,这些组合查询通常称为并(union)或者符合查询(compound query)。

我们使用UNION操作符来组合多天SELECT查询语句。

以products为例:


我们想要价格低于5的一个物品列表,也想得到厂商是1001和1002的物品列表,解决这个问题有三种方式:

1.使用两条独立的查询:


2.使用WHERE组合限制条件:


可以看到筛选的结果有8条,比第一种方法少了一条数据,因为WHERE只筛选不重复的行;

3.使用组合查询


可以看到,和第一种方式类似,我们在两条语句之间插入了UNION来组合两条SELECT语句。

以下是使用UNOIN的一些规则:

1.UNOIN必须由两条或者两条以上的SELECT语句组成,语句之间使用关键字UNION分隔;

2.UNION中的每个查询必须包含相同的列、表达式或者聚集函数;

3.UNION从查询结果中自动去除了重复的结果,和WHERE语句的结果类似;

4.如果不想对结果进行去重,可以使用UNION ALL:


5.在对UNION进行组合查询时,只能使用一条ORDER BY子句,它必须出现在最后一条SELECT语句之后:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值