首页 > 数据库 >数据库:子查询讲解!插入子查询结果 基本格式:INSERT INTO <表名>[(<字段1>[,…])] SELECT 子查询

数据库:子查询讲解!插入子查询结果 基本格式:INSERT INTO <表名>[(<字段1>[,…])] SELECT 子查询

时间:2022-09-27 19:35:18浏览次数:52  
标签:语句 INSERT INTO 查询 子句 SELECT

数据库:子查询讲解!

在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

标签:语句,INSERT,INTO,查询,子句,SELECT
From: https://www.cnblogs.com/sunny3158/p/16735675.html

相关文章

  • DDL操作数据库-创建&查询和DDL操作数据库-修改&删除&使用
    DDL操作数据库-创建&查询1.操作数据库:CRUDC(Create):创建创建数据库:createdatabase数据库名称;创建数据库,判断不存在,再创建:createdatabasei......
  • Skywalking on the way-千亿级的数据储能、毫秒级的查询耗时
    本文转载自架构染色,已获得作者授权,原文链接https://mp.weixin.qq.com/s/DlphAJ59COtBM958q_0TsA1、开篇自从Skywaling开始在公司推广,时不时会在排查问题的人群中听到......
  • Qt-工程打开后,编译提示“error: member access into incomplete type 'Ui::MainWindow
    问题现象:之前程序都是可以正常运行的,编译也没有错误提示。今天打开工程后,提示“error:memberaccessintoincompletetype'Ui::MainWindow'”问题原因:原因:访问到不完整......
  • 查询处理
    查询处理概述关系数据库管理系统查询处理可以分为4个阶段:查询分析、查询检查、查询优化和查询执行。1.查询分析:对用户提交的查询语句进行扫描、词法分析和语法分析,判断......
  • 创建VO类来封装多表查询的结果
    VO:ValueObject,值对象。当进行SELECT查询时,查询的结果数据包含多张表的内容,此时查询的结果集不能使用现有的POJO实体类来接收。解决方法:重新去构建一个新对象,这个对象用于......
  • day03 --> (多表查询、事务、DCL)
    一、多表查询 1.查询语法: select列名列表from表名列表where准备SQL:#创建部门表createtabledept(idintprimarykeyauto_increment,......
  • laravel-admin实现时间搓区间查询
    数据表时间字段使用的时间搓保存,使用查询过滤时发现时间区间查询没有关于时间搓查询的能力,只能是自己实现一个表格查询过滤的between类型,默认是使用控件输入原值作为查......
  • 排序查询
    排序查询语法orderby子句orderby排序字段1排序方式1--排序字段n排序方式n排序方式ASC:升序,默认的DESC:降序注意如果有多个排序条......
  • sqlserver查询锁表并解锁
    在SqlServer中,项目中需要写到存储过程,但是有些刚接触的小伙伴,可能会出现写了begin,没有end的情况,这种SQL语句可以保存到存储过程中,但是在执行存储过程的时候会出现锁的情况,......
  • 488操作数据库修改、删除、使用 和489操作表查询
    DDL操作数据库-修改&删除&使用U(Update):修改修改数据库的字符集alterdatabase数据库名称characterset字符集名称;D(Delete):删除 删除数据库dropdatabase......