SQL学习笔记(三)


--------------------------------------------------分割线-----------------------------------------------------------------------

Union语句

union操作符用于合并两个或多个select语句的结果集。

注意:union内部的select语句必须拥有相同数量的列,列也必须有相似的数据类型,同时每条select语句中的列的顺序必须相同。

语法如下:

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

SQL学习笔记(三)_第1张图片

SQL学习笔记(三)_第2张图片

SQL学习笔记(三)_第3张图片

实例:

列出所有在中国和美国的不同的雇员名:
SELECT E_Name FROM Employees_China
UNION
SELECT E_Name FROM Employees_USA

SQL学习笔记(三)_第4张图片

从这个结果集中,我们就可以发现一个问题,我们查询的两个表中,有两个名字是重复的,Carter,Thomas,但是我们的结果集中只显示了一个名字,说明了我们的问题就是union只会选取不重复的值。

要是想列出所有的值,我们使用union all,就能列出所有的值了。


select into 语句

用于创建表的备份,从一个表中选取数据,然后把数据插入另一个表中。

语法如下:

您可以把所有的列插入新表:
SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename
或者只把希望的列插入新表:
SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_tablename

实例:

下面的例子会创建一个名为 "Persons_Order_Backup" 的新表,其中包含了从 Persons 和 Orders
两个表中取得的信息:
SELECT Persons.LastName,Orders.OrderNo  INTO Persons_Order_Backup FROM Persons
INNER JOIN  Orders  ON Persons.Id_P=Orders.Id_P


create database 数据库

语法:

create database my_db

在数据库中创建表

CREATE TABLE 表名称
(
列名称 1 数据类型,
列名称 2 数据类型,
列名称 3 数据类型,
....)

SQL容纳的数据类型如下:

SQL学习笔记(三)_第5张图片

SQL学习笔记(三)_第6张图片














你可能感兴趣的:(SQL)