- UNION与UNION ALL区别和使用
UNION操作符用于合并两个或多个select语句的结果集。
请注意,UNION内部的select语句必须拥有相同数量的列。列也必须有相似的数据类型,select语句中列的顺序必须相同;
UNION ALL与UNION的区别是:UNION ALL查询所有的信息也就是允许重复的值,UNION默认是去除重复的值; - DISTINCT关键字
DISTINCT关键字用于返回唯一不同的值;
语法:SELECT DISTINCT 列名称 FROM 表名称
注意:DISTINCT必须放在字段的前面。
DISTINCT与GROUP BY 的区别:
当数据量很大的时候,比如说:1000万条数据中有300万条是重复的数据,用DISTINCT性能要好与GROUP BYl;
对于相对重复量较小的数据量比如1000万中1万的重复量,用GROUP BY的性能会远优于DISTINCT性能。
- TOP字句
TOP字句用于规定要返回的记录的数目。
对于拥有数千条的大型表来说,TOP子句是非常有用的。
注释:并非所有的数据库系统支持TOP子句。
例如:查询表中选取头两条记录:SELECT TOP 2 * FROM Persons
查询表中选取50%的记录:
SELECT TOP 50 PERCENT * FROM Person
- LIKE操作符
LIKE操作符用于在WHERE子句中搜索列中的指定模式;
例如:SELECT name FROM table_name WHERE name LIKE 'king'
提示:%可用于定义通配符(模式中缺少的字母);
通过使用NOT关键字,可以查询表中不包含该字母的数据; - JOIN用于根据两个或多个表中的列之间的关系
通过使用JOIN关键字来从两个表中获取数据;
例如:SELECT Customer.name,Orders.name FROM Customer INNER JOIN Orders ON Customer.id = Orders.id GROUP BY Orders.name
INNER JOIN(内链接)
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有行
FULL JOIN:只要其中一个表中存在匹配,就返回行 - SELECT INTO语句用于创建表的备份复件
从一个表中选取数据,然后把数据插入另一个表中
常用与创建表的备份复件或者用于对记录进行存档
语法:SELECT * INTO new_table_name FROM old_table_name
IN子句可用向另一个数据库中拷贝表
SELECT * INTO username IN 'Backup.mdb' FROM user