1、别名(AS)
通过使用别名,可以为表名称或列名称指定别名。创建别名是为了让列名称的可读性更强,其用法如下:
#列的别名语法
SELECT column_name AS newColumn_name FROM table_name;
#表的别名语法
SELECT column_name(s) FROM table_name AS newTable_name;
eg:
select id,name AS 名字 from Person as a where a.name="Tom";//显示列名称为id,名字,而不是id,name
注意事项:
1、数据库中as主要作用是起别名,常规来说都可以省略,但是为了增加可读性,不建议省略。
2、where条件里面不能用本层查询的字段的别名
select id,(c1+c2) as s from t1 where s>100; //错误
应写成:
select id,(c1 +c2) as s from t1 where (c1+c2)>100;
或:
select t2.* from (select id,(c1+c2) as c from t1) t2 where c>100;
2、UNION 操作符
UNION 操作符用于查询两个相同列、数据类型的结果集。其语法如下(默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL):
SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2;
//UNION ALL
SELECT column_name(s) FROM table1 UNION ALL SELECT column_name(s) FROM table2;
注意事项:
- union必须拥有相同列数,意味着两个select语句查找字段名可以不同;
- union必须拥有相似的数据类型,意味着只要数据库能支持不同数据类型转换,则两个select语句相同位置字段类型可不一致;
- UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名;
- 使用UNION命令时需要注意,只能在最后使用一个ORDER BY命令,是将两个查询结果合在一起之后,再进行排序!绝对不能写两个ORDER BY命令;
- 在使用ORDER BY排序时,注意两个结果的别名保持一致