SQL语句(十六)实现集合运算、对数据修改、数据表复制
(一)、集合运算(交、并、补)
--(1)Union 并运算
select Sname
from Student
UNION
select Tname
From Teacher --(2)INTERSECT 交运算
--查询学校中与老师重名的学生姓名
select Sname
From Student
INTERSECT --不会重复出现
Select Tname
From Teacher --另解
select Sname
From Student
Where Sname IN
(Select Distinct Tname
From Teacher) --(3)找出不选3号课的学生
select distinct Sno
From SC
where Sno not IN
( select Sno
From SC
Where Cno = ''
) -- 另解 使用EXCEPT
Select Sno
From SC
EXCEPT
Select Sno
From SC
Where Cno = ''
二、 数据修改
1. 数据增加
INSERT INTO <表名> ([列名])
VALUES (<值列表>)
实例
-- (1). 插入一条学生记录 (2017005, 张三, 男,21,数学系)
INSERT INTO Student
Values ('', '张三', '男', , 'MA') --没有说明的列,插入NULL
--说明的列数要等于值的个数
--如果在指定了某列不允许为空,则必须插入数据
--例2 出错, Sno is NOT NULL
INSERT INTO Student(Sname)
VALUES ('刘帅')
创建表
SELECT *
INTO newTable
From oldTable
实例
--例1 创建与Student同结构的表
Select *
Into Stu_tmp
From Student --注意: new Table 不能存在
--但是有附加命令
拷贝表 (新表 已经创建)
Insert Into newTable
Select *
From OldTable
多行插入
INSERT INTO <表名> [(<> [, <>....] ) ]
子查询
实例
--例1 拷贝表
--先在Student表中插入一条数据
INSERT INTO Student
Values ('', '豆子', '男', , 'CS', '1997-07-22')
select * from Student
--拷贝表全部数据 到 新表 (已经创建了新表)
Insert Into Stu_tmp Select * From Student --删除 Stu_tmp
delete From Stu_tmp --插入, 子查询
Insert Into Stu_tmp(Sno, Sname, Sex, Sage, Sdept)
select Sno, Sname, Sex, Sage, Sdept
From Student
2. 数据修改
--将学生95001的年龄改成22岁 --将所有学生的年龄增加1岁
UPDATE Student
Set Sage = Sage + -- 修改计算机全体人员成绩 为0
Update SC
Set Grade =
where Sno in
(Select distinct SC.Sno
From Student, SC
Where Student.Sno = SC.Sno and Sdept = 'CS')
SQL语句(十六)实现集合运算、对数据修改、数据表复制的更多相关文章
- sql语句删除由于无主键导致完全重复的数据方法
sql语句删除由于无主键导致完全重复的数据方法 select distinct * into #Tmp from t_column drop table t_column select * into ...
- MySQL数据库增删改查SQL语句(2018整理集合大全)
查看数据库 show databases; 使用数据库 use 数据库名; 创建数据库 CREATE DATABASE 数据库名; 删除数据库 DROP DATABASE 数据库名; 创建表 cre ...
- 抓取锁的sql语句-第六次修改
增加异常处理 CREATE OR REPLACE PROCEDURE SOLVE_LOCK AS V_SQL VARCHAR2(3000); --定义 v_sql 接受抓取锁的sql语句V_SQL02 ...
- Ibatis.Net 动态SQL语句学习(六)
在学习动态SQL语句之前,首先必须对条件查询有一定了解,先来学习如何向IBatis.Net的映射文件里传入参数吧. 一.条件查询 1.传递单个参数 如根据Id查询: <select id=&qu ...
- 多条SQL语句对查询结果集的垂直合并,以及表设计时如何冗余字段
需求引入 你有一个销售单表A 和一个销售单详情表B 和一个收付款记录表C A---->B 一对多 A---->C一对多 如果一个销售单有两个详情,三条收款记录 对一个销售单 我们想查询 ...
- Sql语句不能识别Go的解决办法(动态创建表的触发器)
问题来源 用sqlserver直接打开sql文本,执行没问题,但是当用Sqlcommand类执行cmdtext命令文本时总是失败报错. 原因分析及解决 用数据库直接执行sql语句没问题,甚至还可以用G ...
- SQL语句查询数据库的触发器、存储过程、视图以及表的SQL语句
Sql Server数据库用SQL语句查询方法如下: select name from sysobjects where xtype='TR' --所有触发器 select name from sys ...
- sql语句(一)— —判断是否有这条数据的优化
今天发现一个业务上的存储过程写的不够完善,和老板反应后,老板说你来完善吧,我:苦瓜脸~.说实话,我对SQL语句的熟练程度真的是不提也罢[捂脸],大概的判断流程我知道,但是真的让我自己写,还真得上网查查 ...
- SQL Server下ADO.NET 怎么获取数据库SQL语句INSERT,UPDATE,DELETE了多少行数据
ADO.NET 在发送SQL语句到SQL Server数据库后,怎么知道真正INSERT,UPDATE,DELETE了多少行数据呢? 使用SQL Server内置的全局变量@@ROWCOUNT即可,@ ...
- SQL语句大小写是否区分的问题,批量修改整个数据库所有表所有字段大小写
一.实例介绍 SQL语句大小写到底是否区分呢?我们先从下面的这个例子来看一下: 例: --> 创建表,插入数据: declare @maco table (number int,myvalue ...
随机推荐
- 【Coursera】主成分分析
一.问题 主方向的概念是什么?为什么降低维度的方法是使方差最大化? 假设某两个特征之间成线性关系,在二维平面上的表示就是数据点呈线性分布,那么可以通过将数据在主方向上进行投影,得到一个一维的数据,这个 ...
- DPDK skeleton basicfwd 源码阅读
学习这个例子用于理解单纯的 dpdk 转发过程,L2 和 L3 的转发是基于此:在rte_eth_rx_burst()收包后进行解包,提取 mac.ip 等信息然后在转发到输出网卡. 如果要写出自己的 ...
- eg_7
1. 给定Map,根据Map中的值从大到小排列 package com.studentmanager.www; import java.util.ArrayList; import java.util ...
- js作用域相关笔记
1.js引擎.编译器.作用域. 引擎:负责JS全过程的编译和执行: 编译器:负责语法分析和代码生成: 作用域:负责收集并维护声明组成的查询,以及当前执行代码对这些变量的访问权限(简言之,作用域就是用于 ...
- TCP/IP Illustrated Vol1 Second Edition即英文版第二版,TCP部分个人勘误
目前已经有了英文版第二版的TCPIP详解,中文版暂时还没有,但是英文版还是有好几处错误,作者和官方竟然没有维护一个勘误表. 个人阅读过程中针对TCP部分可能有问题的地方简单勘误一下 P596:示意图中 ...
- Memcache服务器端+Redis服务器端+PHP Memcache扩展+PHP Memcached扩展+PHP Redis扩展+MemAdmin Memcache管理工具+一些概念(更新中)
Memcache和Redis因为操作简单,是我们常用的服务器数据缓存系统,以下文字仅作备忘记录,部份转载至网络. 一.定义 1.Memcache Memcache是一个高性能的分布式的内存对象缓存系统 ...
- URL query string中文字符问题
如果URL的query string中包含中文字符,在不做特殊处理的情况下通过 request.getParameter 方法是获取不到正确的信息的,这是由于下面的两个机制造成的 浏览器会自动对URL ...
- BZOJ5123 线段树的匹配(树形dp)
线段树的任意一棵子树都相当于节点数与该子树相同的线段树.于是假装在树形dp即可,记忆化搜索实现,有效状态数是logn级别的. #include<iostream> #include< ...
- [AT2567] [arc074_c] RGB Sequence
题目链接 AtCoder:https://arc074.contest.atcoder.jp/tasks/arc074_c 洛谷:https://www.luogu.org/problemnew/sh ...
- linux内核分析 第七周 Linux内核如何装载和启动一个可执行程序
一.编译链接的过程和ELF可执行文件格式 vi hello.c gcc -E -o hello.cpp hello.c -m32 //预处理.c文件,预处理包括把include的文件包含进来以及宏替换 ...