操作目录
一.单表查询
1.选择表中的若干列
③.查询经过计算的值
【例3.20】查询全体学生的姓名、出生年份和所在的院系,要求用小写字母表示系名。
SQL语句:
SELECT Sname,'Year of Birth:',2014-Sage,LOWER(Sdept)
FROM Student;
用户可以通过指定列别名来改变查询结果的列标题。例如可以对例3.20定义如下列别名:
SELECT Sname NAME, 'Year of Birth:' BIRTH,2014-Sage BIRTHDAY,
LOWER(Sdept) DEPARTMENT
FROM Student;
2.选择表中的若干元组
①.消除取值重复的行
DISTINCT:用来消除重复的行。
【例3.21】查询选修了课程的学生学号。
SQL语句:
没有指定DISTINCT,默认为ALL,保留结果表中取值重复的行:
SELECT Sno
FROM SC;
等价于
SELECT ALL Sno
FROM SC;
查询结果里包含了许多重复的行,若想去掉,必须指定DISTINCT:
SELECT DISTINCT Sno
FROM SC;
②.查询满足条件的元组
WHERE :查询满足指定条件的元组。
(1)比较大小
用于进行比较的运算符包括 =,>,<,>=,<=,!=或者<>(不等于),!>,!< 。
【例3.22】查询计算机科学系全体学生的名单。
SQL语句:
SELECT Sname
FROM Student
WHERE Sdept='CS';
注意! :不要忘记加单引号(数字型的不用加)。
【例3.23】查询所有年龄在20岁以下的学生姓名及其年龄。
SQL语句:
SELECT Sname,Sage
FROM Student
WHERE Sage<20;
【例3.24】查询考试成绩不及格的学生学号。
SQL语句:
SELECT DISTINCT Sno
FROM SC
WHERE Grade<60;
没有同学不及格,所以结果为空。