欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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表中奖金为300500700的所有员工,显示姓名、奖金

14、问答题:什么是 数据库服务器、数据库、表、表记录?
	
15、问答题:charvarchar的区别?
	
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 ;

Java培优班 - 第二十天 - JavaWeb - Part 2 - 练习


02、再次创建mydb2库,指定编码为utf8,并选择mydb2库

CREATE DATABASE IF NOT EXISTS mydb2 CHARSET utf8; /* 答案 */
USE mydb2 ;  /* 答案 */
SELECT database();

Java培优班 - 第二十天 - JavaWeb - Part 2 - 练习

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;

Java培优班 - 第二十天 - JavaWeb - Part 2 - 练习