数据库相关代码题

本文探讨了数据库相关的代码题目,涉及多个SQL查询实例,包括:车主信息查询、数据统计、表连接操作、数据筛选与更新等。通过这些例子,展示了如何使用SQL进行复杂的数据操作,如分组聚合、子查询、联接查询等。
摘要由CSDN通过智能技术生成

数据库相关代码题

1.北京车辆管理实行尾号限行制度(周一至周五,每天限行2个尾号),交管局管理系统中有如下三张表:车辆所属关系表Ownershjp(车牌号,车主身份证号),车主身份信息表Ownerinfo(车主身份证号,姓名,年龄),限行表Restriction(尾号,限行日期)。
请回答下列问题:
1)写SQL查询:名下有多部车辆的车主列表(车主身份证号,名下车辆数量)
2)写SQL查询:40岁以下的车主名下的车辆牌照列表(车主姓名,车牌号)
3)写SQL查询:周三没有车可以开的车主姓名列表(车主姓名)

答:1)select Ownerid,count() from Ownership group by Ownerid HAVING count()>1;
2)select o1.Name,o2.Platenumber from Ownerinfo o1,Ownership o2 where o1.Ownerid=o2.Ownerid and Age<40;
3)select Platenumber,o1.Ownerid,Namefrom Ownership o1,Ownerinfo o2 whereo1.Ownerid=o2.Ownerid and substring(Platenumber,-1)=(select Lastdigit fromRestriction where Restriction=‘周三’) group by Ownerid;

2.Oracle数据库中,按如下要求编写sql查询?
已知表内容:
日期 成绩
2005-05-09 胜
2005-05-09 胜
2005-05-09 负
2005-05-09 负
2005-05-10 胜
2005-05-10 负
2005-05-10 负

如果要生成下列结果,该如何写SQL语句

日期 胜(数量) 负(数量)
2005-05-09 2 2
2005-05-10 1 2
答:select rq,sum(case when shengfu=’胜’ then 1 else 0 end) as胜,sum(case when shengfu=’负’ then 1 else 0 end) as负from tab3 group by rq

3.使用一条SQL语句,查询每门课都大于80分的学生姓名:
name Kecheng fenshu
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 98
王五 英语 90
答案:select distinct [Name] from [表] where [Name] not in (select [Name] from [表] where [fengshu]<=80;
4.假设数据库表zkbc_sales(产品,地区,销售额)表中记录如下:
年度 产品 地区 销量
2012 A 北京 500
2013 A 北京 200
2013 A 上海 300
2013 B 北京 100
2013 B 深圳 100
2012 C 上海 200
2012 C 上海 300

通过一条SQL查出如下结果:
地区 A B C
北京 700 100 0
上海 300 0 500
深圳 0 100 0

答案:SELECT coalesce(name, ‘总数’), SUM(singin) as singin_count FROM zkbc_sales GROUP BY name WITH ROLLUP;

5.存在两张表,表格创建语句如下所示。
create table testtablel
(
id int IDENTITY,
department varchar(12)
)
insert into testtablel values(‘设计’)
insert into testtablel values(‘市场’)
insert into testtablel values(‘售后’)
结果
id department
1 设计
2 市场
3 售后
create table testtable2
(
id int IDENTITY,
dptID int,
name varchar( 12)
)
insert into testtable2 values(1,’ 张三’)
insert into testtable2 values(1,’李四’ )
insert into testtable2 values(2,’ 王五’)
insert into testtable2 values(3,’彭六’)
insert into testtable2 values(4,‘陈七’)

写一条SQL语句显示如下结果:
id dptID department name
1 1 设计 张三
2 1 设计 李四
3 2 市场 王五
4 3 售后 彭六
5 4 无 陈七

答:SELECT testtable2.* , ISNULL(department,‘无’)
FROM testtable1 right join testtable2 on testtable2.dptID = testtable1.ID

6.有两张表,按照要求编写相应的SQL语句:
部门表department (部门编号dept_id 部门名称dept_name )
员工表employee (员工编号emp_id 员工姓名emp_name 部门编号dept_id 工资emp_wage )
根据下列题目写出SQL语句:
1)列出工资大于5000的员工所属的部门名、员工id和员工工资。
2)列出员工表中的部门id对应的名称和员工id(左连接)。
3)求各部门的平均工资。
4)假如现在在库中有一个和员工表结构相同的空表employee2,请用一条sql语句将employee表中的所以记录插入到employee2表中。
答案:
1)select d.dept_name,e.emp_id,e.emp_wage from department d ,employee e where e.emp_wage>5000 and d.dept_id = e.dept_id;
2)selsect d.dept_id,d.dept_name,e.emp_id from department d left join employee e where d.dept_id = e.dept_id;
3)select d.dept_name ,round(avg(nvl(e.emp_wage,0)),2) sal from employee e left join department d on e.dept_id=d.dept_id group by d.dept_name;
4) insert into employee2 select * from employee;

7.按照要求编写相应的SQL语句。
客户信息表CIF_PERS_INFO,表中字段说明及数据如下:
*字段说明:
CIF_NO 客户编号(主键)
CIF_NAME 客户姓名
CIF_ID_NO 身份证号码
CIF_AREA_NAME 所在行政区划
CIF_PHONE 手机号码
CIF_BLACKLIST 是否被列入黑名单
*表中数据:
CIF_NO CIF_NAME CI

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、有一课程管理系统,有如下特点:一个系可开设多门课程,但一门课只在一个系部开 设,一个学生可选修多门课程,每门课可供若干学生选修,一名教师只教一门课程,但 一门课程可有几名教师讲授,每个系聘用多名教师,但一个教师只能被一个系所聘用, 要求这个课程管理系统能查到任何一个学生某门课程的成绩,以及这个学生的这门课是 哪个老师所教的。 (1)请根据以上描述,绘制相应的E-R图,并直接在E- R图上注明实体名、属性、联系类型; (2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。 (3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式 达到了第几范式。对这些关系模式进行规范化。 1、参考答案: 2、设某汽车运输公司数据库中有三个实体集。一是"车队"实体集,属性有车队号、车队 名等;二是"车辆"实体集,属性有牌照号、厂家、出厂日期等;三是"司机"实体集,属 性有司机编号、姓名、电话等。 车队与司机之间存在"聘用"联系,每个车队可聘用若干司机,但每个司机只能应聘于一 个车队,车队聘用司机有"聘用开始时间"和"聘期"两个属性; 车队与车辆之间存在"拥有"联系,每个车队可拥有若干车辆,但每辆车只能属于一个 车队; 司机与车辆之间存在着"使用"联系,司机使用车辆有"使用日期"和"公里数"两个属性 ,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。 (1)请根据以上描述,绘制相应的E-R图,并直接在E- R图上注明实体名、属性、联系类型; (2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。 (3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式 达到了第几范式。对这些关系模式进行规范化。 2、参考答案: (1)E-R图设计如下: (2)转换成的关系模型应具有4个关系模式: 车队(车队号,车队名) 车辆(车牌照号,厂家,生产日期,车队号) 司机(司机编号,姓名,电话,车队号,聘用开始时间,聘期) 使用(司机编号,车辆号,使用日期,公里数) 3、设某商业集团数据库中有三个实体集。一是"仓库"实体集,属性有仓库号、仓库名和 地址等;二是"商店"实体集,属性有商店号、商店名、地址等;三是"商品"实体集,属 性有商品号、商品名、单价。 仓库与商品之间存在"库存"联系,每个仓库可存储若干种商品,每种商品存储在若干仓 库中,库存有个"库存量"、"存入日期"属性; 商店与商品之间存在着"销售"联系,每个商店可销售若干种商品,每种商品可在若干 商店里销售,每个商店销售一种商品有月份和月销售量两个属性; 仓库、商店、商品之间存在一个三元联系"供应",反应了把某个仓库中存储的商品供 应到某个商店,此联系有月份和月供应量两个属性。 (1)请根据以上描述,绘制相应的E-R图,并直接在E- R图上注明实体名、属性、联系类型; (2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。 (3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式 达到了第几范式。对这些关系模式进行规范化。 3、参考答案 (1)E-R图设计如下: (2)据转换规则, E-R图可转换成6个关系模式: 仓库(仓库号,仓库名,地址) 商品(商品号,商品名,单价) 商店(商店号,商店名,地址) 库存(仓库号,商品号,日期,库存量) 销售(商店号,商品号,月份,月销售量) 供应(仓库号,商店号,商品号,月份,月供应量) 4.设有关系模式 R(职工名,项目名,工资,部门名,部门经理) 如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理, 一个部门有多个项目;每个部门只有一个经理。 1. 试写出关系模式R的函数依赖和关键码。 2. 说明R不是2NF模式的理由,并把R分解成2NF模式集。 3. 进而把R分解成3NF模式集,并说明理由。 4、参考答案 R的基本函数依赖有三个: (职工名,项目名)(工资 项目名 (部门部门名 (部门经理 项目名 (部门经理 关键码为(职工名,项目名)。 根据 ,R中存在下列两个函数依赖: (职工名,项目名)( 项目名 ((部门名) (职工名,项目名)( 项目名 ((部门经理) 这两个函数依赖都是局部依赖,因此R不是2NF模式。 R应分解成两个模式: R1(项目名,部门名,部门经理) R2(职工名,项目名,工资) R1和R2都是2NF模式。 R2已是3NF模式,因为非主属性"工资"已经完全依赖主键"职工名,项目名" 在R1中,由于存在两个函数依赖: 项目名(部门部门名\(项目名 部门名(部门经理 即存在非主属性对主键的传递依赖,因此R1不是3NF模式。 对R1应分解成两个模式:R11(项目名,部门名),R12(部门名,部门
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值