(3)查询经过计算的列 SELECT子句中的<目标列名序列>可以 是表中存在的属性列,也可以是表达式、 常量或者函数 例4.查询全体学生的姓名及其出生年份 SELECT Sname Sname (无列名) 2002- Sage FROM Student 李勇 1982 结果为 刘晨 1981 王敏 1981 张立 1979 吴宾 1980 张海 1981 钱小平 1983 王大力 1982 2021/2/20 Information College. ChangJun
16 2021/2/20 Information College · ChangJun (3)查询经过计算的列 SELECT子句中的<目标列名序列>可以 是表中存在的属性列,也可以是表达式、 常量或者函数 例4.查询全体学生的姓名及其出生年份 SELECT Sname, 2002 - Sage FROM Student 结果为: Sname (无列名 ) 李勇 1982 刘晨 1981 王敏 1981 张立 1979 吴宾 1980 张海 1981 钱小平 1983 王大力 1982
例5.查询全体学生的姓名和出生年份所在《 系,并在出生年份列前加入一个列,此 列的每行数据均为“ Year of Birth’常 量值。 SELECT Sname, Year of Birth 2002-Sage Sname(无列名) (无列名 FROM Student李勇 Year of Birth1982 查询结果:刘晨 Year of Birth 1981 王敏 Year of Birth 1981 张立 Year of Birth1979 吴宾 Year of Birth1980 张海 Year of Birth1981 钱小平 Year of Birth1983 王大力 Year of Birth1982 2021/2/20 Information College Changjun
17 2021/2/20 Information College · ChangJun 例5.查询全体学生的姓名和出生年份所在 系,并在出生年份列前加入一个列,此 列的每行数据均为‘Year of Birth’常 量值。 SELECT Sname,‘Year of Birth’, 2002-Sage FROM Student 查询结果 : Sname (无列名 ) (无列名 ) 李勇 Year of Birth 1982 刘晨 Year of Birth 1981 王敏 Year of Birth 1981 张立 Year of Birth 1979 吴宾 Year of Birth 1980 张海 Year of Birth 1981 钱小平 Year of Birth 1983 王大力 Year of Birth 1982
经过计算的列、函数的列和常量列的显示 结果都没有列标题,通过指定列的别名可以改 变査询结果的列标题。 改变列标题的语法格式为: 列名表达式[AS]列标题 或:列标题=列名表达式 例如,对于例5可写成: SELECT Sname姓名,“ Year of birth’出 生年份, 姓名 出生年份 年份 2002-Sage年份,李勇 Year of Birth 1982 刘晨 Year of Birth[1981 FROM Student 王敏 Year of Birth1981 结果为: 张立 Year of Birth1979 吴宾 Year of Birth 1980 张海 Year of Birth 1981 钱小平 Year of Birth| 1983 2021/2/20 Informatio ear of Birth1982
18 2021/2/20 Information College · ChangJun 经过计算的列、函数的列和常量列的显示 结果都没有列标题,通过指定列的别名可以改 变查询结果的列标题。 改变列标题的语法格式为: 列名 | 表达式 [ AS ] 列标题 或:列标题 =列名 | 表达式 例如,对于例5可写成: SELECT Sname 姓名,‘Year of Birth’ 出 生年份, 2002-Sage 年份, FROM Student 结果为: 姓名 出生年份 年份 李勇 Year of Birth 1982 刘晨 Year of Birth 1981 王敏 Year of Birth 1981 张立 Year of Birth 1979 吴宾 Year of Birth 1980 张海 Year of Birth 1981 钱小平 Year of Birth 1983 王大力 Year of Birth 1982
2、选择表中的若干元组 (1)消除取值相同的行 本来在数据库表中不存在取值全都相同的元组, 但在进行了对列的选择后,在查询结果中就有可能 出现取值完全相同的行了。 例6.在修课表中查询有哪些学生修了课程,要求 列出学生的学号。 select Sno From sc 在这个结果中有许多重复的行。 Sno SQL中的DSTⅠNCT关键字可 9512101 以去掉结果表中的重复行 9512102 SELECT DISTICT Sno FROM 9521102 SC 则执行结果为 9521103 9531101 2021/2/20 Information College. ChangJun
19 2021/2/20 Information College · ChangJun 2、选择表中的若干元组 (1)消除取值相同的行 本来在数据库表中不存在取值全都相同的元组, 但在进行了对列的选择后,在查询结果中就有可能 出现取值完全相同的行了。 例6.在修课表中查询有哪些学生修了课程,要求 列出学生的学号。 SELECT Sno FROM SC 在这个结果中有许多重复的行。 Sno 9512101 9512102 9521102 9521103 9531101 SQL 中的DISTINCT关键字可 以去掉结果表中的重复行。 SELECT DISTICT Sno FROM SC 则执行结果为 :
(2)查询满足条件的元组 查询满足条件的元组是通过WERE子句实现 的。 WherE-子句常用的查询条件如表所示 查询条件 谓词 比较(比较运算符) ,>=,<,<=,<> (或!=)NT+上述比较运算 符 确定范围 BETWEEN AND, NOT BETWEEN AND 确定集合 IN. NOT IN 字符匹配 LIKE. NOT LIKE 空值 IS NULL. IS NOT NULL 多重条件(逻辑谓词AND,OR 2021/2/20 Information College. ChangJun
20 2021/2/20 Information College · ChangJun (2)查询满足条件的元组 查询满足条件的元组是通过WHERE子句实现 的。WHERE子句常用的查询条件如表所示: 查询条件 谓 词 比较(比较运算符) =, >, >=, <, <=, <> (或!=)NOT+上述比较运算 符 确定范围 BETWEEN AND, NOT BETWEEN AND 确定集合 IN, NOT IN 字符匹配 LIKE, NOT LIKE 空值 IS NULL, IS NOT NULL 多重条件(逻辑谓词 AND, OR