Java培优班 - 第二十天 - JavaWeb - Part 2 - 练习
程序员文章站
2024-02-26 09:35:10
...
文章目录
描述
----------------------------------
一、建库、建表,插入记录、修改记录、删除记录
----------------------------------
01、删除mydb2库(如果存在)
02、再次创建mydb2库,指定编码为utf8,并选择mydb2库
03、在mydb2库中,创建员工(emp)表,并添加如下列:
编号(整型、主键、自增)
姓名、性别(字符串类型)
出生年月(日期类型)
职位(字符串类型)
薪资、奖金(小数类型)
04、往员工(emp)表中插入3条记录
05、将员工的薪资在原有基础上增加1500(mysql不支持+=)
06、删除emp表中所有员工的记录
----------------------------------
二、单表查询
----------------------------------
!!下列练习使用db10库中数据,选择db10库,如果没有先创建(参考sql脚本)
07、列出emp表中的所有员工,显示所有列
08、列出emp表中的所有的男员工,显示姓名、性别
09、列出emp表中的'培优部'的所有员工,显示部门名称, 员工姓名
10、列出emp表中员工的奖金(bonus),仅显示奖金,并剔除重复的值
11、列出emp表中所有奖金高于500的员工,显示姓名、奖金、职位
12、列出emp表中薪资在1000~2000之间的所有员工,显示姓名,薪资
/* between...and... 在...之间*/
13、列出emp表中奖金为300、500、700的所有员工,显示姓名、奖金
14、问答题:什么是 数据库服务器、数据库、表、表记录?
15、问答题:char和varchar的区别?
16、问答题:什么是主键约束(特点)、什么是唯一约束、什么是非空约束?
17、列出emp表中姓名以'王'开头的员工,显示员工姓名
18、列出emp表中姓名以'涛'结尾的员工,显示员工姓名
19、统计emp表中的所有的男员工的人数。
20、统计每个职位的人数, 显示职位和对应人数
21、统计emp表中所有员工的总薪资(包含奖金)
22、统计emp表中所有员工奖金的平均值
!!下列练习使用db10库中数据,选择db10库,如果没有先创建(参考sql脚本)
23、列出所有员工的入职日期,由新到旧排列员工信息,显示姓名、总薪资
24、若把hdate看作员工的出生日期,查询下个月过生日的所有员工,显示员工姓名和出生日期
25、求1987年入职的员工信息。
26、求emp表中薪资最高的前3名员工的信息,显示姓名和薪资
----------------------------------
三、子查询、多表查询
----------------------------------
27、(子查询)列出emp表中高于平均工资的所有员工,显示姓名、薪资
28、(子查询)查询emp表中比'齐雷'薪资高的所有员工,显示姓名、薪资
29、(子查询)查询emp表中和'齐雷'从事相同职位的所有员工,显示姓名、职位
30、(子查询)查询emp表中'陈子枢'所有下属员工,假设不知道陈子枢的编号(1011)
31、(左外连接)列出所有员工和员工对应的部门,如果员工没有对应的部门, 显示为null
32、(关联查询)列出在'就业部'任职的员工,假定不知道'就业部'的部门编号,显示部门名称和员工姓名
----------------------------------------------
33、(自连接查询)列出上级及上级对应的下属员工,显示上级编号(id),上级姓名、员工姓名、上级编号(topid)
34、(分组、聚合函数)列出最低薪资大于1500的各种职位及从事此职位的员工人数。
-- 先查询出各种职位的最低薪资
-- 提示:对分组后的记录筛选过滤请使用having替换where,并且having书写在最后
-- 再查询出最低薪资>1500的职位
-- 最后查询出每个职位对应的员工人数
结果
一、建库、建表,插入记录、修改记录、删除记录
01、删除mydb2库 (如果存在)
CREATE DATABASE IF NOT EXISTS mydb2 CHARSET utf8 ;
SHOW DATABASES ;
DROP DATABASE IF EXISTS mydb2 ; /* 练习 */
SHOW DATABASES ;
02、再次创建mydb2库,指定编码为utf8,并选择mydb2库
CREATE DATABASE IF NOT EXISTS mydb2 CHARSET utf8; /* 答案 */
USE mydb2 ; /* 答案 */
SELECT database();
03、在mydb2库中,创建员工(emp)表,并添加如下列:
编号(整型、主键、自增)
姓名、性别(字符串类型)
出生年月(日期类型)
职位(字符串类型)
薪资、奖金(小数类型)
CREATE DATABASE IF NOT EXISTS mydb2 CHARSET utf8;
USE mydb2 ;
SELECT database();
SHOW TABLES;
CREATE TABLE emp ( /* 答案 */
id INT PRIMARY KEY AUTO_INCREMENT,
name varchar(50),
gender char(1),
birthday DATE,
job varchar(50),
salary DOUBLE,
bonus DOUBLE
);
SHOW CREATE TABLE emp;
上一篇: 树莓派Qt开发入门(一):流水灯实验——GPIO的使用
下一篇: JAVA 百度地图 API