SQL 查询命令题题库
一、写出 SQL 查询命令
设有一个职工表,表中有若干条记录,表结构定义如下:
编号 | 姓名 | 部门 | 年龄 | 进厂日期 | 职称 | 性别 | 电话 |
文本 | 文本 | 文本 | 整型 | 日期 / 时间 | 文本 | 文本 | 长整型 |
| | | | 台风英文 | | | |
记录举例:
2006 | 汪洋 | 技术部 | 44 | 1980/05/06 | 技术员 | 男 | 73979400 |
| | | | | | | |
编写 SQL 命令完成下面的查询 :
1、列出姓名中包含“秋”字的全部男职工的信息:
2、列出所有除技术部以外的年龄在 40 岁以上的职工的姓名和电话:
3、统计进厂迄今已满 25 年或以上的职工人数:
4、按部门显示职工的平均年龄,显示形式见下表,注意按部门顺序排列:
性别 | 平均年龄 |
财务部 | 52 |
技术部 | 36.2 |
人事部 | 52.3 |
销售部 | 44.8 |
| |
5、显示男职工中年龄最小者的姓名
1、SELECT *
FROM 职工表
WHERE 姓名LIKE”*秋*”你也是 英文AND 性别=”男”
2、SELECT 姓名,电话
FROM 职工表
WHERE 部门LIKE”[!技术部]” AND年龄>40
3、SELECT COUNT(编号)
FROM 职工表
WHERE YEAR(NOW())-YEAR(进厂日期)>=25
4、SELECT 性别,AVG(年龄)AS平均年龄
FROM 职工表
GROUP BY 部门
ORDER BY 部门
5、SELECT 姓名
FROM 职工表
WHERE 性别=”男” AND 年龄=(SELECT MIN(年龄)
FROM 职工表)
二、根据主教材第四章所给的商品库和教学库,按照下列所给的每条SQL查询语句写出相应的功能。
在名称为商品库的数据库中包含有商品表1和商品表2,它们的定义分别为:
商品表1( 商品代号 char(8),分类名 char(8),单价 float ,数量 int )
商品表2( 商品代号 char美国波士顿大学(8),产地 char(8),品牌 char(6))
在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义分别为:
kp是啥意思是什么学生( 学生号 char(7),姓名char(6),性别char(2),出生日期 datetime,专业char(10),年级int)
课程( 课程号 char(4),课程名char(10),课程学分 int)
选课( 学生号 char(7),课程号char(4),成绩 int)
1. lect x..商品代号,分类名,数量,品牌 新喀里多尼亚(09年1月考)
from 商品表1 x ,商品表2 y
where x.商品代号 = y.商品代号
从商品库中查询出每一种商品的商品代号、分类名、数量和品牌等信息
2. lect distinct 产地
from 商品表2
从商品库中查询出所有商品的不同产地
3. lect distinct 品牌(07年7月考)
from 商品表2
从商品库中查询出所有商品的不同品牌
4. lect count (distinct 产地) as 产地数 (08年7月考)
from 商品表2
从商品库中查询出所有商品的不同产地的总数
5. lect x..商品代号,分类名,数量,品牌
from 商品表1 x ,商品表2 y
where x.商品代号 = y.商品代号 and ( 品牌 =‘熊猫’or 品牌 =‘春兰’)
从商品库中查询出品牌为熊猫或春兰的所有商品的商品代号、分类名、产地和品牌
6. lect 学生.学生号, count (* ) as 选课门数 (08年1月考、09.7考)
from 学生,选课
where 学生.学生号=选课.学生号
group by 学生.学生号
从教学库中查询出每个学生选课的门数
7. lect distinct x..*
from 学生 x, 选课 y, 选课 z
where y.学生号=z.学生号 and y.课程号<>z.课程号 and x..学生号=y.学生号
从教学库中查询出至少选修了两门课程的全部学生
8. lect * winter是什么意思(09年1月考)
trackman
from 学生
where 学生号 in taster(lect 学生号
from 选课
group by 学生号 having count(*)=1 )
从教学库中查询出只选修了一门课程的全部学生
9. lect x.学生号, y.学生号, y.课程号(07年7月考)(09年1月考)
from 选课 x, 选课 y
where x..学生号vnn=@s1 and y.学生号=@s2
and x.课程号=y.课程号
从教学库中查询出学生号为@ s1的学生和学生号为@ s2的学生选修的共同课程的课程号
10. lect x.*
from 课程 x,选课 y
where x .课程号= y .课程号 and y .学生号=@ s1
and y .课程号 not in (lect 课程号 from 选课 where 选课.学生号= @ s2)
从教学库中查询出学生号为@ s1的学生所选修、而学生号为@ s2的学生没有选修的课程
11. lect *
from 课程
where not exists (lect * from 选课 where 课程.课程号=选课.课程号 )
从教学库中查询出所有未被学生选修的课程
12. lect * (08年7月考)
from 课程
where exists (lect * from 选课 where 课程.课程号=选课.课程号 )
从教学库中查询出所有已被学生选修的课程
13. lect * (08年1月考)
from 学生
where exists (lect * from 选课货款英文