当前位置: 首页 > news >正文

6-扩展内容

拷贝表结构及数据到新表

拷贝表结构及数据到新表使用的是CREATE TABLE…SELECT语句,其语法格式如下:

CREATE TABLE 新表名SELECT * | 字段列表FROM 旧表名[WHERE 查询条件]

说明:旧表中的主键、索引、自动递增属性等不能够拷贝到新表中。

示例:使用CREATE TABLE…SELECT语句拷贝student表的表结构到新表tempStudent,包含5个字段:学生ID(id)、学号(stuNo)、姓名(stuName)性别(sex)和班级名称(deptName)。

在这里插入图片描述

向表中插入子查询结果集

向表中插入子查询结果集使用的是INSERT INTO…SELECT语句,其语法格式如下:

	INSERT INTO 新表名 [( 字段名1, 字段名2, ... , 字段名n )]SELECT * | 字段列表FROM 旧表名[WHERE 查询条件]

说明:
新表名后面指定的字段列表要与SELECT子句中查询的字段列表一一对应,即个数要相等,数据类型也要匹配。
INSERT语句也可以省略字段列表,但SELECT子句提供的字段必须按照新表中定义的字段顺序为全部字段提供值。

示例:在student表中查询“网络131”班的学生记录,将查询结果插入到tempStudent表中

在这里插入图片描述

带子查询的修改语句

带子查询的修改语句使用的是UPDATE…SELECT语句,其语法格式如下:

	UPDATE 表名SET 字段名1=1 [, 字段名2=2,, 字段名n=值n]WHERE 字段名 运算符 子查询

示例:在score表中,将“数据结构”课程的成绩统一减去5分。

在这里插入图片描述

带子查询的删除语句

带子查询的删除语句使用的是DELETE…SELECT语句,其语法格式如下:

DELETE FROM 表名WHERE 字段名 运算符 子查询

示例:在score表中,将“机电131”班的学生成绩记录全部删除。

在这里插入图片描述

多列子查询

示例:查询每个部门入职时间最早的部门编号,员工姓名,入职时间

SELECT deptno,ename,hiredate 
FROM emp 
WHERE (deptno,hiredate) IN (SELECT deptno ,MIN(hiredate) FROM emp GROUP BY deptno);

在这里插入图片描述

子查询中的空值

示例:查询不是经理的员工姓名。

SELECT    ename
FROM     emp
WHERE     empno NOT IN(SELECT mgrFROM   emp);

查询结果为:

在这里插入图片描述

  • 上面的SQL语句试图查找出没有下属的雇员,逻辑上,这个SQL语句应该会返回8条记录,但是却一条也没返回,why?
  • 因为子查询的结果中有一条空值,这条空值导致主查询没有记录返回。这是因为所有的条件和空值比较结果都是空值。

正确写法:

SELECT    empno,ename
FROM     emp
WHERE     empno NOT IN(SELECT mgrFROM   emp where mgr is not null);

在这里插入图片描述

在 FROM 子句中使用子查询

示例:查询比自己部门平均工资高的员工姓名,工资,部门编号,部门平均工资

SELECT  a.ename, a.sal, a.deptno, b.salavg
FROM    emp a, (SELECT   deptno, AVG(sal) salavgFROM     empGROUP BY deptno) b
WHERE   a.deptno = b.deptno  AND    a.sal > b.salavg;

在这里插入图片描述

http://www.dtcms.com/a/434996.html

相关文章:

  • 教师指南:利用Vibes与AI提示词提升课堂短视频互动与趣味性
  • 嵌入式-Wno-cpp编译选项
  • 怎么做公益网站用html5做的网站过程
  • 做视频必须知道的一些网站山东天成水利建设有限公司网站
  • LunaTranslator_x64_win10_v10.8.0安装教程(附详细步骤+下载后怎么安装)
  • 上海策朋网站设计公司15年做那个网站致富
  • [免费]基于Python的Flask+Vue进销存仓库管理系统【论文+源码+SQL脚本】
  • 做优惠券网站泰安北京网站建设
  • 【Linux】冯 • 诺依曼体系结构
  • OpenAI Sora 2重磅发布:AI视频生成进入“GPT-3.5时刻”
  • LabVIEW中实现8通道实时数据录波并通过网络通信
  • 津南做网站的公司淘宝网站建设杭州
  • SpringBoot中的自动配置魔法:像乐高积木一样搭建应用
  • 企业做网站的优势微商营销宝最新版
  • 2020 年真题配套词汇单词笔记(考研真相)
  • 如何制作网站网页公司网站下二级站点如何做
  • React Query入门指南:简化React应用中的数据获取
  • 昆山建设银行网站首页seo指的是什么
  • 大连网站怎么网站建设服务合同缴纳印花税吗
  • C++多线程编程入门实战
  • 个体工商户经营范围网站开发网站建设2018需要什么
  • 泰山派rk3566 sdk编译
  • GAMES101:现代计算机图形学入门(Chapter3 变换)迅猛式学习笔记
  • 0.0 编码基础模板
  • 用哈希表封装unordered_set和unordered_map
  • 有做面食的网站吗企业网络营销策划案
  • 中山做网站长沙营销企业网站建设
  • 江苏模板网站建设h5微场景制作软件
  • VSCode C/C++ 构建任务配置文件 `tasks.json` 全字段深度解析
  • 动力学系统辨识与建模