sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  1796 随笔 :: 22 文章 :: 24 评论 :: 226万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

数据库:子查询讲解!

在SQL语言中,一个SELECT-FROM-WHERE语句称为一个查询块。将一个查询块嵌

套在另一个查询块的WHERE子句或HAVING短语中的查询称为嵌套查询或子查询。

子查询也称为内部查询,而包含子查询的语句也称为外部查询。子查询是一个 SELECT 查询,它嵌套在 SELECT、INSERT、UPDATE、DELETE 语句或其它子查询中。任何允许使用表达式的地方都可以使用子查询。子查询用圆括号括起来。使用IN或NOT IN的子查询

IN子查询用于进行一个给定值是否在子查询结果集中的判断,格式如下:

表达式 [NOT] IN (子查询)

当表达式与子查询的结果集中的某个值相等时,IN谓词返回TRUE,否则返回FLASE,若使用了NOT,则与之相反。

在子查询中使用 ANY,SOME,ALL

1、查询比某个促销商品的折扣值大的商品名称、折扣

2、查询比所有促销商品的折扣值大的商品名称、折扣

INSERT、DELETE和UPDATE语句中的子查询

1、插入子查询结果

基本格式:INSERT INTO <表名>[(<字段1>[,…])] SELECT 子查询

子查询规则

子查询也受下面的条件限制

(1)通过比较运算符引入的子查询的选择列表只能包括一个表达式或列名称。

(2)如果外部查询的WHERE子句包括某个列名,则该子句必须与子查询选择列表中的该列兼容。

(3)子查询的选择列表中不允许出现ntext、text和image数据类型。

(4)无修改的比较运算符引入的子查询不能包括GROUP BY和HAVING子句。

(5)包括GROUP BY的子查询不能使用DISTINCT关键字。

(6)不能指定COMPUTE和INTO子句。

(7)只有同时指定了TOP,才可以指定ORDER BY。

(8)由子查询创建的视图不能更新。

(9)通过EXISTS引入的子查询的选择列表由星号(*)组成,而不使用单个列名。

(10)当=、!=、<、<=、>、或>=用在主查询中,ORDER BY子句和GROUP BY子句不能用在内层查询中,因为内层查询返回的一个以上的值不可被外层查询处理。

举报/反馈
https://baijiahao.baidu.com/s?id=1665131016142579031&wfr=spider&for=pc
posted on   sunny123456  阅读(453)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-09-27 js截取字符串的方法
2019-09-27 c#截取字符串的方法Substring()
2019-09-27 sql语句中使用单引号'作为转义字符
2019-09-27 js中使用 反斜杠用来在文本字符串中插入省略号、换行符、引号和其他特殊字符。
2019-09-27 js jQuery显示隐藏div的几种方法
点击右上角即可分享
微信分享提示