查询的语句格式
SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>] …
FROM <表名或视图名>[,<表名或视图名> ]…|(SELECT 语句)
[AS]<别名>
[ WHERE <条件表达式> ]
[ GROUP BY <列名1> [ HAVING <条件表达式> ] ]
[ ORDER BY <列名2> [ ASC|DESC ] ];
其中,SELECT子句的<目标列表达式>不仅可以为表中的属性列,也可以是表达式
下面是几个例子:
计算列中可以有 +、-、*、/、%,可以是在一列上进行计算,也可以多列计算
1、查全体学生的姓名及其出生年份
2014-Sage 为计算列,计算结果为: 2014 - 学生年龄 = 学生出生年份(如果不给该计算列修改属性名,则属性名默认为计算列名)
SELECT Sname,2014-Sage FROM Student;
输出结果:
Sname | 2014-Sage |
---|---|
李勇 | 1994 |
刘晨 | 1995 |
王敏 | 1996 |
张立 | 1995 |
2、查询并用小写字母表示系名
计算列:LOWER(属性名)
SELECT Sname,'Year of Birth: ',2014-Sage,LOWER(Sdept) FROM Student;
输出结果:
Sname | ‘Year of Birth:’ | 2014-Sage | LOWER(Sdept) |
---|---|---|---|
李勇 | Year of Birth: | 1994 | cs |
刘晨 | Year of Birth: | 1995 | cs |
王敏 | Year of Birth: | 1996 | ma |
张立 | Year of Birth: | 1995 | is |
3、使用列别名改变查询结果的列标题
属性名和别名之间用空格隔开(或者用 as ),属性名之间用逗号隔开
SELECT Sname NAME,'Year of Birth:' BIRTH,2014-Sage BIRTHDAY,LOWER(Sdept) DEPARTMENT
FROM Student;
输出结果:
NAME | BIRTH | BIRTHDAY | DEPARTMENT |
---|---|---|---|
李勇 | Year of Birth: | 1994 | cs |
刘晨 | Year of Birth: | 1995 | cs |
王敏 | Year of Birth: | 1996 | ma |
张立 | Year of Birth: | 1995 | is |