SQL研习录(26)——子查询

  • 版权声明
    • 一、子查询
      • 1、基本语法

版权声明

  • 本文原创作者:清风不渡
  • 博客地址:https://blog.csdn.net/WXKKang

一、子查询

  子查询(Sub Query)或者说内查询(Inner Query),也可以称作嵌套查询(Nested Query),是一种嵌套在其他 SQL 查询的 WHERE 子句中的查询
  子查询用于为主查询返回其所需数据,或者对检索数据进行进一步的限制
  子查询可以在 SELECT、INSERT、UPDATE 和 DELETE 语句中,同 =、<、>、>=、<=、IN、BETWEEN 等运算符一起使用
  使用子查询时需要遵循的规则:

  • 子查询必须括在圆括号中
  • 子查询的 SELECT 子句中只能有一个列,除非主查询中有多个列,用于与子查询选中的列相比较
  • 子查询不能使用 ORDER BY,不过主查询可以。在子查询中,GROUP BY 可以起到同 ORDER BY 相同的作用
  • 返回多行数据的子查询只能同多值操作符一起使用,比如 IN 操作符
  • SELECT 列表中不能包含任何对 BLOB、ARRAY、CLOB 或者 NCLOB 类型值的引用
  • 子查询不能直接用在集合函数中
  • BETWEEN 操作符不能同子查询一起使用,但是 BETWEEN 操作符可以用在子查询中

1、基本语法

  如果需要在SELECT语句中使用子查询,基本语法如下:

SELECT column_name [, column_name ]
FROM   table1 [, table2 ]
WHERE  column_name OPERATOR(SELECT column_name [, column_name ]FROM table1 [, table2 ][WHERE])

  在INSERT 语句中使用子查询,就可以将子查询返回的数据插入到其他表中,子查询中选取的数据可以被任何字符、日期或者数值函数所修饰,基本语法如下所示:

INSERT INTO table_name [ (column1 [, column2 ]) ]SELECT [ *|column1 [, column2 ]FROM table1 [, table2 ][ WHERE VALUE OPERATOR ]

  在UPDATE语句中使用子查询的时候,既可以更新单个列,也可更新多个列,基本语法如下:

UPDATE table
SET column_name = new_value
[ WHERE OPERATOR [ VALUE ](SELECT COLUMN_NAMEFROM TABLE_NAME)[ WHERE) ]

  在DELETE语句中使用子查询的时候,既可以删除单个列,也可删除多个列,基本语法如下:

DELETE FROM TABLE_NAME
[ WHERE OPERATOR [ VALUE ](SELECT COLUMN_NAMEFROM TABLE_NAME)[ WHERE) ]

SQL研习录(26)——子查询相关推荐

  1. SQL研习录(24)——CHECK约束

    SQL研习录(24)--CHECK约束 版权声明 一.CHECK约束 1.基本语法 版权声明 本文原创作者:清风不渡 博客地址:https://blog.csdn.net/WXKKang 一.CHEC ...

  2. SQL进阶之关联子查询行间比较

    SQL进阶之关联子查询行间比较 关联子查询行间比较 越前须知(雾) 具体用法 与最近一年比较营收 移动平均值和移动累计值 查询重叠的时间区间 关联子查询行间比较 越前须知(雾) 本系列参考<SQ ...

  3. SQL进阶之关联子查询练习

    SQL进阶之关联子查询 一.关联子查询简介 二.关联子查询实操 1.CreateTable 2.Sample 一.关联子查询简介 通过关联表内部条件从而达到查询效果 二.关联子查询实操 注:版本使用: ...

  4. oracle多表嵌套查询使用,oracle sql 多表 嵌套子查询 连接查询, join where exist i...

    转:http://hi.baidu.com/delphi_relive/blog/item/d7c0034a49c4932208f7ef21.html in 和 exists也是很好区别的. in 是 ...

  5. SQL中的关联子查询

    目录 关联查询 例子 分解相关的嵌套查询 与不同的表一起使用 关联子查询与内部联接 哪个更快? 哪个更容易阅读? 哪一个更好? HAVING子句中的关联子查询 在本文中,我们将查看几个示例并将关联子查 ...

  6. 零基础学SQL(十、子查询与多表关联)

    目录 前置建表 ​编辑     编辑 一.子查询 1.什么是子查询 2.子查询的类型 二.表关联查询 1.连接分类 1.1.交叉连接 (CROSS JOIN) 1.2.内连接(inner join) ...

  7. oracle sql 多表 嵌套子查询 连接查询, join where exist in 的区别

    sql中exits和in的区别 转:http://hi.baidu.com/delphi_relive/blog/item/d7c0034a49c4932208f7ef21.html in 和 exi ...

  8. SQL语言中的子查询

    (1)子查询 子查询是嵌套在另一个语句,如:select,insert,update.delete中的查询 子查询的例子: (2)嵌套子查询 子查询可以嵌套在另外一个子查询中,SQL Server最多 ...

  9. SQL学习九、子查询

    子查询:嵌套在其他查询中的查询. 例如,我们需要获取国家内业图斑中图斑面积大于10亩的的图斑的所有附件数量 查询 [1.获取图斑面积大于10亩的国家内业图斑的图斑编号 select TBBH From ...

最新文章

  1. 不计前嫌,握手言和:Microsoft宣布新版SQL Server将同时支持Windows与Linux两大平台...
  2. 【Python】青少年蓝桥杯_每日一题_12.11_开关灯问题
  3. Comware、VRP、IOS这些操作系统平台你分清了吗?
  4. neo4j springboot 日志_Springboot2.3集成neo4j的过程和踩坑记
  5. 开启云原生 MOSN 新篇章 — 融合 Envoy 和 Golang 生态
  6. Linux下将数据文件的指定域读取到shell脚本中
  7. odbc mysql 配置文件_ODBC连接主流数据库的配置方法
  8. 想推翻JAVA的统治? 呵洗洗睡吧
  9. hdu1066(经典题)
  10. openstack社区_OpenStack社区中发生了什么?
  11. 使用base64 对Json 的返回数据进行优化
  12. App Store 上架流程
  13. Uncaught Error: Syntax error, unrecognized expression: |117的js错误
  14. IT人员如何成为一名云计算工程师
  15. jenkins 配置代理
  16. Swift 语言的设计错误
  17. win7系统IE11管理加载项里面没有Shockwave Flash Object的解决方法
  18. Python(arcpy) 批量计算流域面积
  19. 张飞硬件设计与开发 学习笔记(第一部 线性稳压电源设计) 含理解,超详细!
  20. qq空间相册查看器_教你用微信把自己的照片制作成音乐相册,模板多,操作又简单...

热门文章

  1. 用Python写了个检测文章抄袭,详谈去重算法原理
  2. css3实现鼠标移入图片变色
  3. 北大生卖猪肉,腾讯程序员送外卖,人最重要的不是面子而是活下去
  4. 粒子群算法实战分享-附原版动画PPT(技术分享也可以文艺范?)
  5. 云表MES系统助力小型企业
  6. Seneor曝光基础知识
  7. 微软输入法的m图标怎么设置_如何在Microsoft Word中获取“ L”形的格式设置图标?...
  8. 带你由浅入深探索webpack4(二)
  9. 用JavaScript实现简单的星座查询
  10. 体验 TiDB v6.0.0 之 Clinic