数据库练习题(一)创建表格并做相应的查询

#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;


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473816.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 935. 骑士拨号器(动态规划)

文章目录1. 题目2. 解题1. 题目 国际象棋中的骑士可以按下图所示进行移动: 这一次,我们将 “骑士” 放在电话拨号盘的任意数字键(如上图所示)上, 接下来,骑士将会跳 N-1 步。每一步必须是从一个数字键跳到…

iSCSI存储设备的udev绑定 以及iscsi重启卡住解决方法

iscsi重启卡住/etc/rc.d/rc0.d和/etc/rc.d/rc6.d里面的K90network删掉即可 iscsi绑定 iSCSI存储设备的udev绑定 2012-01-06 TsengYia#126.com http://tsengyia.blog.chinaunix.net/ 针对挂载多个iSCSI设备时其设备名称可能存在变动的情况,通过使用udev规则将…

k近邻算法(KNN)-分类算法

k近邻算法(KNN)-分类算法 1 概念 定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。 k-近邻算法采用测量不同特征值之间的距离来进行分类。 2 优缺点 优点:简单&a…

数据库练习(二)三个数据库根据指定id获取name和存储数据库名称

已知有三个数据库mysql,mongodb和redis,已经分别存储了不同的学生信息,数据全部采用字符串类型,只有id和name两个字段(在mongo和redis中键为id,值为name),现需编写代码实现需求:根据指定id获取对应的name和存储该条信息…

LeetCode 822. 翻转卡片游戏(哈希)

文章目录1. 题目2. 解题1. 题目 在桌子上有 N 张卡片,每张卡片的正面和背面都写着一个正数(正面与背面上的数有可能不一样)。 我们可以先翻转任意张卡片,然后选择其中一张卡片。 如果选中的那张卡片背面的数字 X 与任意一张卡片…

朴素贝叶斯算法-分类算法

朴素贝叶斯算法-分类算法 1 概率基础 概率定义为一件事情发生的可能性 联合概率:包含多个条件,且所有条件同时成立的概率,记作P(A,B) 条件概率:事件A在另一个事件B已经发生条件下的发送概率,记作P(A|B) 在A1,A2相…

django简介及环境搭建

MVC简介 MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容 M全拼为Model,主要封装对数据库层的访问,内嵌ORM框架,实现面向对象的编程来操作数据…

LeetCode 1312. 让字符串成为回文串的最少插入次数(区间DP)

文章目录1. 题目2. 解题1. 题目 给你一个字符串 s ,每一次操作你都可以在字符串的任意位置插入任意字符。 请你返回让 s 成为回文串的 最少操作次数 。 「回文串」是正读和反读都相同的字符串。 示例 1: 输入:s "zzazz" 输出&…

oracle 临时表空间的增删改查

oracle 临时表空间的增删改查 1、查看临时表空间 (dba_temp_files视图)(v_$tempfile视图)select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;select status,enabled, name, bytes/…

Django创建项目

创建项目的名称为test1,完成“图书-英雄”信息的维护,创建应用名称为booktest 创建项目 cd /home/Desktop/ mkdir pytest cd pytest 创建项目的命令如下: django-admin startproject test1 项目默认目录说明 进入test1目录,查看…

分类模型的评估

分类模型的评估 在许多实际问题中,衡量分类器任务的成功程度是通过固定的性能指标来获取。一般最常见使用的是准确率,即预测结果正确的百分比,方法为estimator.score() 1 混淆矩阵 有时候,我们关注的是样本是否被正确诊断出来。…

LeetCode 996. 正方形数组的数目(回溯+剪枝)

文章目录1. 题目2. 解题1. 题目 给定一个非负整数数组 A,如果该数组每对相邻元素之和是一个完全平方数,则称这一数组为正方形数组。 返回 A 的正方形排列的数目。两个排列 A1 和 A2 不同的充要条件是存在某个索引 i,使得 A1[i] ! A2[i]。 …

Django第一天笔记

1、网站架构演变 1.1 网站访问流程 1.2 网站架构演变 1.2.1 单一应用架构 场景:路边摊的手抓饼 需求: 需求单一 功能: 需求--配菜--制作 一个人搞定 效率: 对单个需求来说:快 特点: 需求:单一…

[Java]java反射随笔

类是面向对象的灵魂,一切事物都可以以类来抽象。 在java使用过程中,我们可能会经常用到一个反射的知识,只是别人都封装好的,如jdbc的加载驱动类有一句Class.for(“…jdbc…”).newInstance.当然框架也是离不开了反射,s…

模型的选择与调优

模型的选择与调优 1 交叉验证 1.1 交叉验证过程 交叉验证:为了让被评估的模型更加准确可信 交叉验证的意义:为了使一部分数据即当成验证集,也做过训练集,更加准确得出准确率,把最后的准确率取平均值。 注意&#…

Django创建图书管理项目(完整版

一、创建项目test1及应用booktest 创建应用booktest 二、安装应用 在test1/settings.py中INSTALLED_APPS下添加应用的名称就可以完成安装 初始项目的INSTALLED_APPS如下图: 在元组中添加一个新的项,当前示例为booktest booktest, 三、设计模型 1.定义模型…

05.序列模型 W3.序列模型和注意力机制

文章目录1. 基础模型2. 选择最可能的句子3. 集束搜索(Beam Search)4. 改进集束搜索5. 集束搜索的误差分析6. Bleu 得分7. 注意力模型直观理解8. 注意力模型9. 语音识别(Speech recognition)10. 触发字检测(Trigger Wor…

显示桌面图标不见了

在Windows操作系统中,任务栏(快速启动栏)中的显示桌面图标的实际位置是“C:\\Windows\\System\\显示桌面.scf”。快速启动是通过放在“C:\\Windows\\Application Data\\Microsoft\\Internet Explorer\\Quick Launch\\显示桌面.scf”实现的。当…

决策树-分类算法

决策树-分类算法 1 认识决策树 决策树是一种基本的分类方法,也可以用于回归。我们一般只讨论用于分类的决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程,它可以认为是if-then规则的集合。在决策树…

在Visual Studio中利用NTVS创建Pomelo项目

刚看新闻,才知道微软发布了Node.js Tools for Visual Studio(NTVS),受够了WebStorm输入法Bug的困扰,这下终于可以解脱了。以Pomelo为例,运行命令:pomelo init pomelo_test,生成一个默…