美文网首页
【实践篇】组合查询

【实践篇】组合查询

作者: 山药鱼儿 | 来源:发表于2022-04-07 10:09 被阅读0次

连载的上一篇文章,我们在实践连接查询的时候,实际上是通过连接条件在水平方向上组合多张表。本节实践的组合查询则相当于是并集,在垂直方向上组合字段相同的多个查询结果。

有如下的用户信息表 user_profile

下面,我们需要编写 SQL 检索出其中学校为山东大学或者性别为男性的用户信息,结果不去重

那如果是去重的话,通常我们会编写多个条件的 WHERE 子句来实现:

SELECT 
    device_id, gender, age, gpa 
FROM 
    user_profile
WHERE 
    university = '山东大学' OR gender = 'male';

或者在条件比较复杂时,也可以使用 UNION 来使得结果更清晰:

SELECT device_id, gender, age, gpa 
FROM user_profile
WHERE university = '山东大学'

UNION

SELECT device_id, gender, age, gpa 
FROM user_profile
WHERE gender = 'male';

检索结果如下:

可见 UNION 在并集检索时,对结果中重复的部分进行了去重。那如果期望像我们题目中要求的那样,结果不去重怎么实现呢?

很简单,使用 UNION ALL 即可:

SELECT device_id, gender, age, gpa 
FROM user_profile
WHERE university = '山东大学'

UNION ALL

SELECT device_id, gender, age, gpa 
FROM user_profile
WHERE gender = 'male';

检索结果如下:

相关文章

  • 【实践篇】组合查询

    连载的上一篇文章,我们在实践连接查询的时候,实际上是通过连接条件在水平方向上组合多张表。本节实践的组合查询则相当于...

  • 【实践篇】基础查询

    友情提示:SQL 实践篇系列文章基于牛客网 SQL 在线编程实践 https://www.nowcoder.com...

  • 【实践篇】子查询

    有如下的用户信息表 user_profile : 以及问题回答明细表 question_practice_deta...

  • 【实践篇】分组查询

    有如下的用户信息表 user_profile ,其中字段 active_days_within_30 表示用户 3...

  • 【实践篇】连接查询

    用户信息表 user_profile 如下: 用户信息表 user_profile 和下方的答题详情表 quest...

  • 《SQL必知必会》—— 检索2

    子查询 联结表 组合查询

  • 11. 组合查询

    组合查询 SQL 允许执行多个查询,并将结果作为一个查询结果集返回,这些组合查询通常称为并(union)或复合查询...

  • 查询组合

    join 和using clickhouse 还有 SEMI JOIN,ANTI JOIN,ANY JOIN重复...

  • 投资实践002:大华股份简要分析

    5月21日在雪xue球qiu建立了模拟组合(即为投资实践001篇),组合如下: 模拟组合其中有大华股份。在视频监控...

  • day59-flask模型关联及图片上传

    1与或非组合查询 flask中查询可以组合查询filter(模型名.字段=值)可以接多个filter表示且操作;也...

网友评论

      本文标题:【实践篇】组合查询

      本文链接:https://www.haomeiwen.com/subject/jnbtsrtx.html