数据库 SQL 高级用法(四)

数据库 SQL 高级用法(四)今天是日更的45/365 天大家好,我是阿常,今天我和大家分享《数据库SQL高级用法》的第四个章节。SQL UNION用法SQL UNIONAL

大家好,欢迎来到IT知识分享网。

今天是日更的45/365 天

大家好,我是阿常,今天我和大家分享《数据库SQL高级用法》的第四个章节。

  • SQL UNION用法
  • SQL UNIONALL 用法
  • 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、UNIONALL 用法

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 INTOSELECT用法

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高级用法的第四章节就讲完啦,接下来让我们继续期待第五章节的内容吧。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/48071.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信