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 语句中的列名。
实例:
列出所有在中国和美国的不同的雇员名:
SELECT E_Name FROM Employees_China
UNION
SELECT E_Name FROM Employees_USA
从这个结果集中,我们就可以发现一个问题,我们查询的两个表中,有两个名字是重复的,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容纳的数据类型如下: