数据库练习题目

编程题: (考试时间4小时,个人测试,闭卷考试,请勿抄袭,可查阅文档)

1、完成如下sql语句 (24分,每小题4分)

TableX有三个字段 Code、Name、Age 其中 Code 为主键。学生表

TableY有三个字段Code、Class、Score,其中 Code + Class 为主键。 成绩表

两表记录如下:
Code Name Age             Code Class Score
97001张三 22               97001数学80
97002赵四21                97002计算机59
97003张飞20                97003计算机60
97004李五22                97004数学55

1、有写出 SQL,找出所有姓张的学生,并按年龄从小到大排列

SELECT
	* 
FROM
	tablex 
WHERE
	NAME LIKE '张%'
	ORDER BY age 

2、请写出SQL,取出计算机科考成绩不及格的学生;

SELECT
	* 
FROM
	tablex AS x,
	tabley AS y 
WHERE
	x.CODE = y.CODE 
	AND y.Class = '计算机' 
	AND y.Score < 60

3、通过等值联接,取出Name、Class、Score,请写出SQL即输出结果

SELECT
	x.NAME,
	y.Class,
	y.Score 
FROM
	tablex AS x,
	tabley AS y 
WHERE
	x.CODE = y.CODE

5、请写SQL,在Tablex表中增加一条学生记录(学号:97005姓名:赵六年龄:20):

INSERT INTO tablex ( CODE, NAME, age )
VALUES
	( 97005, '赵六', 20 )

6、李五的年龄记录错了,应该是21,请写SQL,根据主键进行更新

UPDATE  tablex a 
SET a.age = 21 
WHERE
	CODE = (Select code from(Select code From tablex as b where name='李五'))

2、完成如下sql语句(20分)

存在单位表UNIT 包含三个宇段:主键ID、名称 NAME、排序号 ORD,用户表USER 存在四个字段:主键 ID、单位外键(UNIT_ID)、代码CODE、排序号 ORD,两张表之间是一对多的关联关系,根据下面的要求写出相应的 SQL 语句。

A.查询用户信息,使其先按单位排序字段升序,如果单位相同再按自身的排序字段升序;(5分)

SELECT
	* 
FROM
USER 
ORDER BY
	UNIT_ID ASC,
	ord ASC

B.查询单位信息,要求单位中至少包含2人:(7分)

SELECT
	unit.*,
FROM
	USER,
	unit 
WHERE
	unit.ID = USER.UNIT_ID 
GROUP BY
	USER.UNIT_ID 
HAVING
	count( * ) >=2

C.查询单位信息,要求包括每个单位下的人员数量(8分)

SELECT
	unit.*,count( * ) as 人员数量
FROM
	USER,
	unit 
WHERE
	unit.ID = USER.UNIT_ID 
GROUP BY
	USER.UNIT_ID 

3、请写出 spring boot 中常用的注解,并简要描述,至少写出 10种(10分)

@ResponseBody:将返回值转换成json格式返回给前端
@Controller:作用于表现层上,将对象交给spring的IOC容器进行管理
@RestController:@ResponseBody注解和@Controller注解的组合
@RequestMapping:设置访问资源的唯一路径
@Autowired:将IOC容器中的bean自动注入到私有成员变量中
@Service:作用于业务层,将自己的对象交给IOC容器进行管理
@Repository:作用于持久层,把自己的对象交给IOC容器管理
@DateTimeFormat:规定时间类型的格式
@RequestParam:给形参设置别名从而达到前后端参数名不一致的目的,设置参数是否必填,还可以设置默认值
@PathVariable:路径参数必须要加的
@RequestBody:把前端传来的json格式的数据自动给封装到形参中去
@Component:把该类的对象交给spring的IOC容器管理,作用于不属于三层架构中的类
@ConfigurationProperties:批量的将外部的属性配置注入到bean对象中的属性中去
@Value:单个的将外部的属性注入到当前的成员中去
@SpringBootApplication:引导类
@Qualifier:和@Autowired注解搭配使用,给定需要注入的名称
@Mapper:把接口的实现类对象交给mybatis自动创建,交给IOC容器管理
@Slf4j:提供了日志对象
@Resource:根据名称进行注入

4、请写出Controller 接收参数的注解类型,并简要描述(6分)

@RequestParam:给形参设置别名从而达到前后端参数名不一致的目的,设置参数是否必填,还可以设置默认值
@PathVariable:路径参数必须要加的
@RequestBody:把前端传来的json格式的数据自动给封装到形参中去
@Value:单个的将外部的属性注入到当前的成员中去

5、项目实战,完成资料中项目代码 (40分)

认真阅读业务需求

准备工作:

a、导入项目 和 sql 脚本文件

b、修改 application-druid.yml 配置文件中数据库密码

c、修改DruidDataSourceConfig类中的数据库和密码连接

功能实现:

a、完成 ZhrjAlarmInfoController 类中请求补全

b、完成 ZhrjAlarmInfoServiceImpl 类中代码补全

注意事项:

需要遵从良好编码规范

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值