(1)查询语句格式 Select [all|distinct] <目标列表达式> [,<目标列表达式>]…… From <表名或视图> [,<表名或视图>]…… [where <条件表达式>] [group by <列名 1> [having <条件表达式>]] [order by <列名 2> [asc|desc]] ; 注:[all|distinct]中 all 为缺省值,取消结果中的重复列则用 distinct; [asc|desc]中 asc 为缺省值,表示按照升序排列。对于空值,若按照升序排,则含空值的元组显示在最后面;若按降序排,则空值的元组最先显示。 (2)查询指定列 a)查询部门表dept 中所有部门的详细信息,并且列名用汉字表示。 select DNO,DNAME,ADDR from dept ; b)查询部门表dept 中人力资源部的部门编号。 select DNO from dept where DNAME = '人力资源部' ; <目标列表达式>中各个列的先后顺序可以与表中的顺序不一致. (3)查询全部列 查询全体学生的详细记录 Select * From Student ; (4)将查询结果的列名用别名显示 查询部门表dept 中所有部门的详细信息,并且列名用汉字表示。 select DNO 部门编号 ,DNAME 部门名称 ,ADDR 部门地址 from dept ; (5)在查询的结果中插入新的一列用来显示指定的内容 Select Sname NAME ,’Year of Birth:’ BIRTH ,Sbirth BIRTHDAY ,Sdept DEPARTMENT From Stuent ; 则显示的结果中,每个元组的第二列均为”Year of Birth:”,此列在原数据库中是不存在的. (6)查询经过计算的值 Select 子句的<目标列表达式> 不仅可以是表中的属性列,也可以是表达式。 例:查询全体学生的姓名及其出生年月 Select Sname ,2004 – Sage /*当时年份减去年龄为出生年月 From Stufent ; (7)设置查询显示的字母全为大写(或小写) Select Sname ,’Year of Birth:’ ,2004 – Sage ,LOWER(Sdept) From Student ; 此时Sdept 显示的结果全为小写 Select Sname ,’Year of Birth:’ ,2004 – Sage ,UPPER(Sdept) From Student ; 注:要设置查询表中的属性列名的大小写可以用LOW ER,UPPER。 (8)消除取值重复的行 a)查询雇员表empl 中出现的所有部门编号,要求无重复。 select distinct DNO from EMPL ; b)查询项目表proj 中所有项目名称。 select PNAME from PROJ 等价于 select all PNAME from PROJ (9)查询满足条件的元组 常用的查询条件 查询条件 谓词 比较 =, > , < ,>=...