SELECT [ALL|DISTRICT]<目标列表示法>[,<目标列表示法>]...
FROM<表名或视图>
[WHERE<条件表达式>]
GROUP BY <列名1>[HAVING<条件表达式>]
ORDER BY<列名1>[ASC|DESC]
GROUP BY是按列名1的属性进行分组,属性相同为一组。如果有HAVING BY则需要满足指定条件的组才能输出。
ORDER BY是按列名2的值进行升序降序。
单表连接1
例1.查询全体学生的学号与姓名
SELECT Sno,Sname
FROM Student;
例2.查询全部学生的详尽信息
SELECT*
FROM Sstudent;
SELECT中的目标列不一定是属性列,也可以是表达式、字符串常量和函数。
SELECT Sname 2014-Sage
FROM Student;
还可以命别名:
SELECT Sname NAME,'Year of Birth' BIRTH,2014-Sage BIRTHDAY
FROM Student;
- 用DISTINCT消除重复的若干元组,如果没有指定则默认ALL
SELECT DISTINCT Sno
FROM SC;
- 使用BETWEEN AND表示在范围中,NOT BETWEEN AND表示不在范围