数据库简单与复杂查询.doc
文本预览下载声明
例5.1 部门的编号、名称和位置
select * from department //星号“*”可以在select子句中表示“所有的属性”
例5.2部门的编号、名称和位置
select dept_no,dept_name,location from department
例5.3 查询位于Dallas的部门编号和名称
select dept_no,dept_name
from department
WHERE location=Dallas
例5.4 查询预算额的0.51倍大于60000的项目名称
SELECT project_name
FROM project
WHERE budget*0.5160000
例5.5查询在部门编号为d1的部门工作且职员编号为25348或职工名称为‘Matthew’ 的雇员信息。
SELECT *
FROM employee
WHERE emp_no=25348 OR emp_fanme=Matthew
AND dept_no=d1
例5.6 查询不在部门编号为d1的部门工作的职员编号和姓名
SELECT emp_no,emp_lname
FROM employee
WHERE NOT dept_no=d1
例5.7 获取编号既不是10102也不是9031的职员的所有列。
SELECT *
FROM employee
WHERE emp_no NOT IN (10102 ,9031)
例5.8 获取预算在$95 000~ $120 000之间的所有项目的名称和预算。
SELECT project_name,budget
FROM project
WHERE budget BETWEEN 95000 AND 120000
例5.9 获取预算小于$95 000和大于 $120 000之间的所有项目的名称。
SELECT project_name
FROM project
WHERE budget NOT BETWEEN 95000 AND 120000
例5.10 获取为项目2工作的,具有未知工作的所有职员的职员编号和相应的项目编号。
SELECT emp_no,project_no
FROM works_on
WHERE project_no=‘p2 AND job IS NULL
系统函数ISNULL允许在显示时用指定的数值来替代NULL
SELECT emp_no,ISNULL(job,’Job unknown task ’)
FROM works_on
WHERE project_no=‘p2 AND job IS NULL
例5.11 找出所有姓是以字母J开头的职员的名字和编号。
SELECT emp_fname,emp_lname,emp_no
FROM employee
WHERE emp_lname LIKE ‘j%’
例5.12 找出所有名中第二个字母是a的职员的名字和编号。
SELECT emp_fname,emp_lname,emp_no
FROM employee
WHERE emp_fname LIKE ‘_a%’
例5.13 获取所在地名从C到F的字母打头的所有部门的详细资料。
SELECT *
FROM DEPARTMENT
WHERE LOCATION LIKE ‘[C-F]%’
例5.14 获取姓的打头字母不是J,K,L,M,N,O,并且名的开头字母是E或者Z的所有职员的编号和名字。
SELECT *
FROM EMPLOYEE
WHERE EMP_LNAME LIKE [^J-O]% AND
emp_fname LIKE [EZ]%
例5.15所有被方括号括起来的通配符(%,_,[,],^)都表示本来的意思。
SELECT project_no,project_name
FROM project
WHERE project_NAME LIKE ‘%[_]%’
例5.16 获取在研究部门工作的所有职员的名和姓。
SELECT emp_fname,emp_lname
FROM employee
WHERE dept_no=
(SELECT dept_no
FROM DEPARTMENT
显示全部