美文网首页
SQL子查询

SQL子查询

作者: 某某香肠 | 来源:发表于2018-07-28 00:02 被阅读0次

Where型子查询

指把内层查询结果作为外层的比较条件

典型的查询是查找最贵的商品,比如:

select name,price from goods where price = (select max(price) from goods)
需要注意的是,如果这个子查询返回单列数据,而内容有多条,则应用in(可以看作set)比如查找每个商品类型中最贵的商品(如果每个商品的价格都不一样)
select name,price,type from goods where price in (select max(price) from goods group by type)

from型子查询

指将内层的查询结果当成一张表,供外层继续查询,注意内层的表要加别名,比如查找每个商品类型中最贵的商品

select name,price,type from (select name ,price,type from goods order by price desc) as tmp group by type

exist型子查询

指把外层子查询的结果拿到内层的子查询测试,如果该结果在内层查询中没有查到,则过滤掉该结果,比如查询没有上架的商品类型

select type,type_name from types where not exist (select * from goods where goods.type = types.type)
这样查询的效率比用where...in要高

相关文章

  • 数据分析之SQL子查询

    文章阅读路线: SQL子查询概念 独立子查询实例 相关子查询实例 SQL子查询常见玩伴 1.SQL子查询概念 子查...

  • 《SQL必知必会》笔记6-子查询、联结表join

    1 使用子查询 查询(query):任何SQL语句都是查询,但一般指SELECT语句。 SQL还允许创建子查询(s...

  • SQL关联子查询

    简单易懂教你学会SQL关联子查询 初学SQL的人都会觉得SQL的关联子查询难以理解,为什么?这是有原因的。 关联子...

  • JPA 动态生成sql

    1. 构建格式化时间查询sql: 生成sql: 2. 构建多条件查询sql: 生成sql: 3. 构建子查询: 生...

  • 子查询和组合查询

    子查询 SELECT 语句是 SQL 的查询。 假如要从多个表中过滤数据,SQL 还允许创建子查询(subquer...

  • Oracel_子查询

    SQL子查询 子查询语法 子查询 (内查询) 在主查询之前一次执行完成。 子查询的结果被主查询(外查询)使用 。 ...

  • 【GOLANG】GORM组合查询,构建复杂查询

    组合 使用 Group 条件可以更轻松的编写复杂 SQL 形成的SQL语句: 子查询 子查询可以嵌套在查询中,GO...

  • SQL查询_高级查询

    SQL查询_高级查询 一、子查询 子查询出现的位置一般为条件语句,oracle会先执行子查询,再执行父查询,子查询...

  • 2018-06-04

    第11章 子查询 11.1 子查询 SQL 允许创建子查询(subquery),即嵌套在其他查询中的查询。 11....

  • sql语句

    sql中in和exist的区别: 1、in先子查询,后主查询 2、exist先主查询,后子查询。子查询中,如果结果...

网友评论

      本文标题:SQL子查询

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