MySQL练习题及答案

时间:2021-01-22 16:36:30

一、现有三张数据库表,分别为部门表、员工表、部门和员工关系表

1、部门表
CREATE TABLE `t_dept` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`dept_name` varchar(50) DEFAULT NULL COMMENT '部门',
PRIMARY KEY (`id`)
) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT='部门表 ID为主键';

2、员工表
CREATE TABLE `t_user` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`user_number` varchar(50) DEFAULT NULL,
`user_name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='员工表 ID为主键';

3、部门员工关系表
CREATE TABLE `t_deptuser` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`dept_id` int(8) DEFAULT NULL,
`user_id` int(8) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

问题一、请写一句SQL,查询出所有在"研发部"工作的员工。(MySQL数据库)。

问题二、请写一句SQL,同时查询出所有员工姓名以及所在部门名称。

问题一、select u.* from t_deptuser du
LEFT JOIN t_user u
on u.id = du.user_id
LEFT JOIN t_dept d
on d.id = du.dept_id
where d.dept_name = '研发部'

问题二、
select u.user_name,d.dept_name from t_user u
LEFT JOIN t_deptuser du
on u.id = du.user_id
LEFT JOIN t_dept d
on d.id = du.dept_id