1.SELECT DISTINCT 语句
关键词DISTINCT用于返回唯一不同的值。
语法:
SELECT DISTINCT 列名称 FROM 表名称
2.SELECT INTO语句
SELECT INTO语句从一个表中选取数据,然后把数据插入另一个表中。
SELECT INTO语句常用于创建表的备份复件或者用于对记录进行存档。
SQL 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
其中,IN子句可用于向另一个数据库中拷贝表:
示例: SELECT * INTO Persons IN 'Backup.mdb' FROM Persons
如果我们希望拷贝某些域,可以在SELECT语句后列出这些域:
示例:SELECT LastName,FirstName INTO Persons_backup From Persons
3.SQL UNION操作符
UNION操作符用于合并两个或多个SELECT语句的结果集。
请注意,UNION内部的SELECT语句必须拥有相同数量的列。列也必须拥有相似的数据类型。
同时,每条SELECT语句中的列的顺序必须相同。
SQL UNION语法
SELECT column_name(s) from table_name1
UNION
SELECT column_name(s) from table_name2
默认地,UNION操作符选取不同的值。如果允许重复的值,请使用UNION ALL。
SQL UNION ALL语法
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
另外,UNION结果集中的列名总是等于UNION中第一个SELECT语句中的列名.
4.SQL JOIN
SQL join用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
Join和Key
有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行join。
数据库中的表可通过键将彼此联系起来。主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。
在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。
不同的SQL JOIN
下面列出了你可以使用的JOIN类型,以及它们之间的差异。
JOIN:如果表中有至少一个匹配,则返回行
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
FULL JOIN:只要其中一个表存在匹配,就返回行
5.SQL INNER JOIN关键字
在表中存在至少一个匹配时,INNER JOIN关键字返回行
INNER JOIN关键字语法
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name = table_name2.column_name
6.SQL LEFT JOIN关键字
LEFT JOIN关键字会从左表那里返回所有的行,即使在右表(table_name2)中没有匹配的行。
LEFT JOIN关键字语法
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name = table_name2.column_name
注释:在某些数据库中,LEFT JOIN称为LEFT OUTER JOIN