数据库 SQL 高级用法(四)
今天是日更的 45/365 天
大家好,我是阿常,今天我和大家分享《数据库SQL高级用法》的第四个章节。
- SQL UNION 用法
- SQL UNION ALL 用法
- SQL INTO SELECT 用法
一、SQL UNION 用法
SQL UNION 用于合并两个或多个 SELECT 语句的结果集。
UNION 内部的每个 SELECT 语句必须要拥有相同数量的列。
列也必须拥有相似的数据类型。
同时,每个 SELECT 语句中的列的顺序必须相同。
UNION 用法
SELECT 列名1,列名2 FROM 表名1
UNION
SELECT 列名1,列名2 FROM 表名2;
实例
SELECT country FROM student
UNION
SELECT country FROM score
ORDER BY country;
以上 SQL 语句从 " student " 和 " score " 表中选取所有不同的 country(只有不同的值)。
请注意,UNION 操作符选取不同的值,如果允许重复的值,请使用 UNION ALL。
二、SQL UNION ALL 用法
UNION 操作符选取不同的值,如果允许重复的值,请使用 UNION ALL。
1、UNION ALL 用法
SELECT 列名1,列名2 FROM 表名1
UNION ALL
SELECT 列名1,列名2 FROM 表名2;
实例
SELECT country FROM student
UNION ALL
SELECT country FROM score
ORDER BY country;
以上 SQL 语句从 " student " 和 " score " 表中选取所有的 country(允许重复的值)。
请注意,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
2、带有 WHERE 的 UNION ALL 用法
实例
SELECT country FROM student
WHERE country='CN'
UNION ALL
SELECT country FROM score
WHERE country='CN'
ORDER BY country;
以上 SQL 语句从 " student " 和 " score " 表中选取所有的 country 为 " 中国 " 的数据(允许重复的值)。
三、INSERT INTO SELECT 用法
INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。
1、从一个表中复制所有的列插入到另一个已存在的表中
INSERT INTO 表2
SELECT * FROM 表1;
实例
INSERT INTO student2
SELECT * FROM student;
以上 SQL 语句复制 " student " 表中数据插入到 " student2 " 中。
2、从一个表中只复制希望的列插入到另一个已存在的表中
INSERT INTO 表2
(列名1,列名2)
SELECT 列名1,列名2
FROM 表1;
实例
INSERT INTO student2
(ID,name)
SELECT ID,name
FROM student;
以上 SQL 语句只复制 " student " 中的 " ID "、" name " 列 到 " student2 " 中。
3、复制表结构和数据
用法
CREATE TABLE 新表
AS
SELECT * FROM 旧表;
实例
CREATE TABLE student3
AS
SELECT * FROM student;
4、只复制表结构
用法
CREATE TABLE 新表
AS
SELECT *
FROM 旧表 where 1=2;
CREATE TABLE 新表
LIKE 旧表;
实例
CREATE TABLE student4
AS
SELECT *
FROM student where 1=2;
CREATE TABLE student5
LIKE student;
5、只复制表数据
1)两个表结构一样
INSERT INTO 新表
SELECT * FROM 旧表;
实例
INSERT INTO student5
SELECT * FROM student;
2)两个表结构不一样
INSERT INTO 新表
(列名1,列名2)
SELECT 列名1,列名2
FROM 旧表;
实例
INSERT INTO student5
(ID,country)
SELECT studentID,country
FROM score;
至此,数据库SQL高级用法的第四章节就讲完啦,接下来让我们继续期待第五章节的内容吧。
- 仿刮刮乐刮奖效果
- Spacebuilder在Mono上运行修改备忘
- maven配置详解
- 这一新的可视化方法教你优雅地探索相关性
- LSTM Networks在股票市场上的探究
- MSBuild的简单介绍与使用
- actionbar详解(二)
- actionbar完全解析(一)
- android galley实现画廊效果
- RavenDB:基于Windows/.NET平台的NoSQL数据库
- 神经网络算法交易:波动预测与定制损失函数
- 贝叶斯深度学习:桥接PyMC3和Lasagne构建层次神经网络
- How does it work in Mono's C# compiler?
- Cross-Origin Resource Sharing协议介绍
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解