第三章 关系数据库标准语言SQL

第一节 第二节 第三节 第四节

第三节 查 询   (1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13) 
3. 查询经过计算的值
    SELECT子句的<目标列表达式>为表达式:算术表达式;字符串常量;函数;列别名等。
    [例4] 查全体学生的姓名及其出生年份。
    SELECT Sname,2000-Sage
    FROM Student;
    输出结果:
        Sname 2000-Sage
    --------- -------------
        李勇 1976
        刘晨 1977
        王名 1978
        张立 1978
    [例5] 查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。
    SELECT Sname,'Year of Birth: ',2000-Sage,ISLOWER(Sdept) FROM Student;
    输出结果:    
    Sname 'Year of Birth:' 2000-Sage ISLOWER(Sdept)
    ------- ---------------- --------- --------------
        李勇 Year of Birth: 1976 cs
        刘晨 Year of Birth: 1977 is
        王名 Year of Birth: 1978 ma
        张立 Year of Birth: 1977 is
    [例5.1] 使用列别名改变查询结果的列标题
    SELECT Sname NAME,'Year of Birth: ’ BIRTH,2000-Sage BIRTHDAY,ISLOWER(Sdept) DEPARTMENT
FROM Student;
    输出结果:
    NAME BIRTH BIRTHDAY DEPARTMENT
    ------- ---------------- ------------- ------------------
        李勇 Year of Birth: 1976 cs
        刘晨 Year of Birth: 1977 is
        王名 Year of Birth: 1978 ma
        张立 Year of Birth: 1977 is
二、选择表中的若干元组——消除取值重复的行;查询满足条件的元组。
    1. 消除取值重复的行,在SELECT子句中使用DISTINCT短语。
    假设SC表中有下列数据
        Sno Cno Grade
    ------- ------- -------
        95001 1 92
        95001 2 85
        95001 3 88
        95002 2 90
        95002 3 80
    ALL 与 DISTINCT
    [例6] 查询选修了课程的学生学号。
    (1) SELECT Sno
        FROM SC;
        或(默认 ALL)
        SELECT ALL Sno
        FROM SC;
     结果: Sno
        -------
        95001
        95001
        95001
        95002
        95002

吉林大学网络教育学院 版权所有