数据库练习题(一)创建表格并做相应的查询
#1. 在MySQL中分别创建表dept和employee,结构如下:
dept
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| d_no | int(11) | NO | PRI | NULL | auto_increment |
| d_name | varchar(50) | YES | | NULL | |
| d_location | varchar(100) | YES | | NULL | |
+------------+--------------+------+-----+---------+----------------+
employee
+----------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------+------+-----+---------+-------+
| e_no | int(11) | NO | PRI | NULL | |
| e_name | varchar(100) | NO | | NULL | |
| e_gender | char(2) | NO | | NULL | |
| dept_no | int(11) | NO | MUL | NULL | |
| e_job | varchar(100) | NO | | NULL | |
| e_salary | smallint(6) | NO | | NULL | |
| hireDate | date | YES | | NULL | |
+----------+--------------+------+-----+---------+-------+
#2. 在employee表中插入如下数据:
-> (1001, 'SMITH', 'm',20, 'CLERK',800,'2005-11-12'),
-> (1002, 'ALLEN', 'f',30, 'SALESMAN', 1600,'2003-05-12'),
-> (1003, 'WARD', 'f',30, 'SALESMAN', 1250,'2003-05-12'),
-> (1004, 'JONES', 'm',20, 'MANAGER', 2975,'1998-05-18'),
-> (1005, 'MARTIN', 'm',30, 'SALESMAN', 1250,'2001-06-12'),
-> (1006, 'BLAKE', 'f',30, 'MANAGER', 2850,'1997-02-15'),
-> (1007, 'CLARK', 'm',10, 'MANAGER', 2450,'2002-09-12'),
-> (1008, 'SCOTT', 'm',20, 'ANALYST', 3000,'2003-05-12'),
-> (1009, 'KING', 'f',10, 'PRESIDENT', 5000,'1995-01-01'),
-> (1010, 'TURNER', 'f',30, 'SALESMAN', 1500,'1997-10-12'),
-> (1011, 'ADAMS', 'm',20, 'CLERK', 1100,'1999-10-05'),
-> (1012, 'JAMES', 'm',30, 'CLERK', 950,'2008-06-15');
在dept表中插入如下数据:
-> (10, 'ACCOUNTING', 'ShangHai'),
-> (20, 'RESEARCH ', 'BeiJing '),
-> (30, 'SALES ', 'ShenZhen '),
-> (40, 'OPERATIONS ', 'FuJian ');
#3. 在employee表中,查询每个部门最高工资的员工信息。
#4. 查询员工BLAKE所在部门和部门所在地。
#5. 使用连接查询,查询所有员工的部门和部门信息。
#6. 在employee表中,计算不同部门的平均工资。
#7. 在employee表中,查询员工姓名以字母’A’或’S’开头的员工的信息。
#8. 在employee表中,将查询记录先按部门编号由高到低排列,再按员工工资由高到低排列。
#9. 在employee表中,查询工资范围在800~2500之间的员工信息。
#10. 在employee表中,查询到目前为止,工龄大于等于10年的员工信息。
答案如下:
1、
CREATE TABLE dept
(
d_no INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
d_name VARCHAR(50),
d_location VARCHAR(100)
);
CREATE TABLE employee
(
e_no INT NOT NULL PRIMARY KEY,
e_name VARCHAR(100) NOT NULL,
e_gender CHAR(2) NOT NULL,
dept_no INT NOT NULL,
e_job VARCHAR(100) NOT NULL,
e_salary SMALLINT NOT NULL,
hireDate DATE,
CONSTRAINT dno_fk FOREIGN KEY(dept_no)
REFERENCES dept(d_no)
);
2、
向dept表中插入数据,SQL语句如下:
INSERT INTO dept
VALUES (10, 'ACCOUNTING', 'ShangHai'),
(20, 'RESEARCH ', 'BeiJing '),
(30, 'SALES ', 'ShenZhen '),
(40, 'OPERATIONS ', 'FuJian ');
向employee表中插入数据,SQL语句如下:
INSERT INTO employee
VALUES (1001, 'SMITH', 'm',20,'CLERK',800,'2005-11-12'),
(1002, 'ALLEN', 'f',30, 'SALESMAN', 1600,'2003-05-12'),
(1003, 'WARD', 'f',30, 'SALESMAN',1250,'2003-05-12'),
(1004, 'JONES', 'm',20, 'MANAGER',2975,'1998-05-18'),
(1005, 'MARTIN', 'm',30, 'SALESMAN',1250,'2001-06-12'),
(1006, 'BLAKE', 'f',30, 'MANAGER',2850,'1997-02-15'),
(1007, 'CLARK', 'm',10, 'MANAGER',2450,'2002-09-12'),
(1008, 'SCOTT', 'm',20, 'ANALYST',3000,'2003-05-12'),
(1009, 'KING', 'f',10, 'PRESIDENT',5000,'1995-01-01'),
(1010, 'TURNER', 'f',30, 'SALESMAN',1500,'1997-10-12'),
(1011, 'ADAMS', 'm',20, 'CLERK',1100,'1999-10-05'),
(1012, 'JAMES', 'm',30, 'CLERK',950,'2008-06-15');
3、SELECT dept_no, MAX(e_salary) FROM employeeGROUP BY dept_no;
4、
SELECT d_no, d_location FROM dept WHERE d_no=
(SELECT dept_no FROM employee WHEREe_name='BLAKE');
5、
SELECT e_no, e_name, dept_no,d_name,d_location
FROM employee, dept WHEREdept.d_no=employee.dept_no;
6、SELECT dept_no, AVG(e_salary) FROM employeeGROUP BY dept_no;
7、SELECT * FROM employee WHERE e_name rlike'^[as]';
8、
SELECT e_name,dept_no, e_salary
FROM employee ORDER BY dept_no DESC,e_salary DESC;
9、SELECT * FROM employee WHERE e_salaryBETWEEN 800 AND 2500;
10、SELECT * FROM employee whereYEAR(CURDATE()) -YEAR(hireDate) >= 10;
数据库练习题(一)创建表格并做相应的查询相关推荐
- MySQL 数据库练习题记录01
文章目录 前言 一.数据库练习题一 1.1 表结构 1.2 查询所有学生的信息(学号,姓名,性别,班级名称) 1.3 查询所有人(包括没有成绩的学生)的课程分数(学号,姓名,性别,班级名称,语文分数, ...
- mysql 一个字段下保存多张张照片_如何用MYSQL数据库创建表格,小白一定要进来看看
"在这个时代,太慢你是要被淘汰的.可问题是你怎样能快起来." "把最基础的环节打通之后,再有新的知识就能在这个基础上生长." 上面这两句话是我在成甲的书里读到的 ...
- mysql user表添加记录_《MySQL数据操作与查询》- 返校复习课练习题,创建数据库user_system,创建数据表user及user_ext...
一.其它(共18题,100分) 1.创建数据库user_system CREATE DATABASE user_system 2.在数据库user_system中创建数据表user及user_ext, ...
- html如何用一行代码创建表格,HTML 表格练习题
本节将为大家讲解 HTML 如何实现下图所示表格效果,先来看看最终实现效果吧! table.png 新建 table.html 文件,并输入以下框架代码(本文编辑器采用Notepad++): 对题目要 ...
- Jsp程序设计-数据库练习题(二)
Jsp程序设计-数据库练习题(二) 一. 单选题(共7题,58.1分) (单选题) 下面哪一项不是JDBC的工作任务?(C) A 与数据库建立连接 B 操作数据库,处理数据库返回的结果 C 在网页中生 ...
- excel查询mysql数据库表,excel创建数据表/查询mysql数据库中所有表名
excel两个表格,数据库表与专门查询该数据库信息的表.在查询表中以多个项目进行查询符合条件的数据. 可以用"筛选"这个功能,在菜单里,对两个列进行筛选,符合条件的就会显示出来.很 ...
- Oracle数据库:oracle数据表格dmp,sql,pde格式导入与导出,视图、序列、索引等对象的导出,oracle完结,后续开启mysql的学习
Oracle数据库:oracle数据表格dmp,sql,pde格式导入与导出,视图.序列.索引等对象的导出,oracle完结,后续开启mysql的学习 2022找工作是学历.能力和运气的超强结合体,遇 ...
- 数据库练习题(KDWY题库)
数据库(MySQL)开发技术题库 选择+填空+简答 选择题 1.SQL语言具有数据操作功能,SQL语言的一次查询的结果是一个___D___ A) 数据项 B) 记录 C) 元组 ...
- 使用POI将数据库导出为excel表格
使用POI将数据库导出为excel表格 准备 使用的是POI,是Apache项目,目前已经很少有人用jxl了,学就学习常用的东西,没有必要去学冷门. 此种方式使用的map封装的数据,操作比较的简单使用 ...
最新文章
- Python【每日一问】36
- python多图拼接并利用resnet提取特征
- 线程函数的设计以及MsgWaitForMultipleObjects函数的使用要点
- 这样读源码,不牛X也难
- 计算机系职教周方案,琼软院软件〔2018〕14 号:关于印发《软件工程系2018年“职业教育 活动周”活动方案》的通知...
- linux tomcat apr安装,Linux下Tomcat安装并开启APR模式-Go语言中文社区
- plsql developer导入导出序列方法
- 论文原文解读汇总(持续更新中)
- 进入多个页签_俄罗斯学生落地签如何办理?
- python怎么读发音百度翻译-用python实现百度翻译的示例代码
- Android failed to start daemon
- 各个虚拟机之间免密钥登录
- 远程连接virtualBox本地虚拟机并访问虚拟机服务
- Codeforces 1299 题解
- Mars3D基础学习:地图图层 Layer
- 头条鲁班新户千展费用_今日头条广告投放的费用大概是多少?
- JavaScript实现简单星星闪烁特效
- 优动漫PAINT基础系列之图层模式
- 千村示范、万村整治 浙江
- matlab 矩阵与数比较,MATLAB 对矩阵中的数据进行大小比较
热门文章
- 面向对象与软件工程—团队作业1
- swift中为什么要创造出可选型?
- vim使用教程(全)-最好的编辑器 2015-04-09 18:26 40人阅读 评论(0) 收藏...
- 错误 Every derived table must have its own alias
- tcl/tk demo
- 在XML文件中定义动画(1)
- 解决eclipse无法解析导入org.eclipse.swt库
- [Socket]BSD socket简易入门
- CMakeList.txt中设置一个可变的变量的值(bool)
- 2022年考研结束了