mysql:数据库高级查询(员工部门表)示例1

本文通过实例深入解析MySQL数据库中的高级查询技巧,聚焦员工与部门表的数据操作,涵盖联接、子查询及聚合函数等应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*数据库部分*/
-- 删除数据库
DROP DATABASE IF EXISTS employee;
-- 创建数据库
CREATE DATABASE employee DEFAULT CHARACTER SET utf8;
-- 切换数据库
USE employee;

/*数据表部分*/
-- 删除数据表
DROP TABLE  IF EXISTS t_employee;
DROP TABLE  IF EXISTS t_department;

-- 创建部门表
CREATE TABLE t_department (
    d_id INT PRIMARY KEY AUTO_INCREMENT  #部门编号
    ,d_dept VARCHAR(20) NOT NULL UNIQUE  #部门名
);


-- 创建员工表
CREATE TABLE t_employee (
    e_id INT PRIMARY KEY AUTO_INCREMENT #员工编号 
    ,e_name VARCHAR(20) NOT NULL UNIQUE #用户名
    ,e_nickName VARCHAR(20) NOT NULL    #昵称
    ,e_password VARCHAR(20) NOT NULL    #密码
    ,e_birthday DATETIME NOT NULL       #生日 
    ,e_gender TINYINT NOT NULL          #性别
    ,e_phone VARCHAR(13) NOT NULL       #电话
    ,e_address VARCHAR (100) NOT NULL   #地址
    ,e_dept INT NOT NULL                #所属部门
    ,e_mgr INT NOT NULL                 #直属领导
    ,e_power INT NOT NULL               #职务/权限
    ,FOREIGN KEY (e_dept) REFERENCES t_department(d_id)  #所属部门外键
    ,FOREIGN KEY (e_mgr) REFERENCES t_employee(e_id)     #直属领导外键  
    
);

/*
3. 为员工表和部门表自增长
	1) 员工编号从1000 0001开始
	2) 部门编号从1001开始

4. 为员工表和部门表插入数据
	1) 员工职务/权限, 分为超级管理员0, 经理1, 部门经理2, 主管3, 员工4
	2) 添加四个部门
	3) 添加超级管理员1名, 经理2名, 部门经理4名, 主管6名, 员工12名
	4) 各级员工所属部门自行决定, 每个部门至少需要主管或以上级别1名, 普通员工1名
*/
-- 部门测试数据 
INSERT INTO t_department VALUES (1001,'业务部');
INSERT INTO t_department (`d_dept`) VALUES ('财务部'); 
INSERT INTO t_department (`d_dept`) VALUES ('人事部');
INSERT INTO t_department (`d_dept`) VALUES ('技术部');


-- 员工测试数据
#超级管理员
INSERT INTO t_employee VALUES (10000001,'用户名1','昵称1','0000','1990-10-10',1,
			      '13555555555','地址1',1001,10000001,0);
#部门经理1 /1001部门
INSERT INTO t_employee (`e_name`,`e_nickName`,`e_password`,`e_birthday`,`e_gender`,`e_phone`,`e_address`,`e_dept`,`e_mgr`,`e_power`) 
	VALUES ('用户名2','昵称2','0000','1990-6-10',1, '13555555555','地址2',1001,10000001,2);
#主管1/1001部门
INSERT INTO t_employee (`e_name`,`e_nickName`,`e_password`,`e_birthday`,`e_gender`,`e_phone`,`e_address`,`e_dept`,`e_mgr`,`e_power`) 
	VALUES ('用户名3','昵称3','0000','1991-9-10',1, '13333333333','地址3',1001,10000002,3);
#员工1/1001部门
INSERT INTO t_employee (`e_name`,`e_nickName`,`e_password`,`e_birthday`,`e_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值