1.列表內容– 部門表
create table dept (
id int primary key primary key, – 部門id
dname varchar(50), – 部門名稱
loc varchar(50) – 部門所在地
);– 新增4個部門
insert into dept(id,dname,loc) values
(10,』教研部』,』北京』),
(20,』學工部』,』上海』),
(30,』銷售部』,』廣州』),
(40,』財務部』,』深圳』);
– 職務表,職務名稱,職務描述
create table job (
id int primary key,
jname varchar(20),
description varchar(50)
);– 新增4個職務
insert into job (id, jname, description) values
(1, 『董事長』, 『管理整個公司,接單』),
(2, 『經理』, 『管理部門員工』),
(3, 『銷售員』, 『向客人推銷產品』),
(4, 『文員』, 『使用辦公軟體』);
– 員工表
create table emp (
id int primary key, – 員工id
ename varchar(50), – 員工姓名
job_id int, – 職務id
mgr int , – 上級領導
joindate date, – 入職日期
salary decimal(7,2), – 工資
bonus decimal(7,2), – 獎金
dept_id int, – 所在部門編號
constraint emp_jobid_ref_job_id_fk foreign key (job_id) references job (id),
constraint emp_deptid_ref_dept_id_fk foreign key (dept_id) references dept (id)
);– 新增員工
insert into emp(id,ename,job_id,mgr,joindate,salary,bonus,dept_id) values
(1001,』孫悟空』,4,1004,』2000-12-17』,』8000.00』,null,20),
(1002,』盧俊義』,3,1006,』2001-02-20』,』16000.00』,』3000.00』,30),
(1003,』林沖』,3,1006,』2001-02-22』,』12500.00』,』5000.00』,30),
(1004,』唐僧』,2,1009,』2001-04-02』,』29750.00』,null,20),
(1005,』李逵』,4,1006,』2001-09-28』,』12500.00』,』14000.00』,30),
(1006,』宋江』,2,1009,』2001-05-01』,』28500.00』,null,30),
(1007,』劉備』,2,1009,』2001-09-01』,』24500.00』,null,10),
(1008,』豬八戒』,4,1004,』2007-04-19』,』30000.00』,null,20),
(1009,』羅貫中』,1,null,』2001-11-17』,』50000.00』,null,10),
(1010,』吳用』,3,1006,』2001-09-08』,』15000.00』,』0.00』,30),
(1011,』沙僧』,4,1004,』2007-05-23』,』11000.00』,null,20),
(1012,』李逵』,4,1006,』2001-12-03』,』9500.00』,null,30),
(1013,』小白龍』,4,1004,』2001-12-03』,』30000.00』,null,20),
(1014,』關羽』,4,1007,』2002-01-23』,』13000.00』,null,10);
– 工資等級表
create table salarygrade (
grade int primary key, – 級別
losalary int, – 最低工資
hisalary int – 最高工資
);– 新增5個工資等級
insert into salarygrade(grade,losalary,hisalary) values
(1,7000,12000),
(2,12010,14000),
(3,14010,20000),
(4,20010,30000),
(5,30010,99990);
– 需求:
– 1.查詢所有員工資訊。查詢員工編號,員工姓名,工資,職務名稱,職務描述
/* 分析:
1.員工編號,員工姓名,工資,需要查詢emp表 職務名稱,職務描述 需要查詢job表
2.查詢條件 emp.job_id = job.id
*/select emp.id
,emp.ename
,emp.salary
,job.jname
,job.description
from emp,job
where emp.job_id
=job.id
– 2.查詢員工編號,員工姓名,工資,職務名稱,職務描述,部門名稱,部門位置
/* 分析:
1. 員工編號,員工姓名,工資 emp 職務名稱,職務描述 job 部門名稱,部門位置 dept
2. 條件: emp.job_id = job.id and emp.dept_id = dept.id
*/ select emp.ename
,emp.salary
,job.jname
,job.description
,dept.dname
,dept.loc
from emp,job,dept
where emp.job_id
=job.id
and emp.dept_id
=dept.id
;
– 3.查詢員工姓名,工資,工資等級
/* 分析:
1.員工姓名,工資 emp 工資等級 salarygrade
2.條件 emp.salary >= salarygrade.losalary and emp.salary <= salarygrade.hisalary
emp.salary between salarygrade.losalary and salarygrade.hisalary
*/ select emp.ename
,emp.salary
,t1.grade
from emp,salarygrade t1
where emp.salary
>t1.losalary
and emp.salary
MySQL常用聚合函式
官方文件 aggregate group by functions name description g return the erage value of the argument bit and return bitwise and bit or return bitwise or bit xo...
多表關聯以及mysql函式混用
查出平均支付金額大於0.5元的使用者的姓名和使用者id t user info使用者表 字段 id,nickname t pay 支付表,字段 userid,cent amount付款金額 分析思路 1.首先 乙個使用者存在多筆訂單,且需要根據這個使用者id進行分組,並取其平均值 然後做平均支付金額...
Mysql裡不能使用聚合函式
採取的第一種方式 記錄一下關於mysql的乙個報錯問題解決方案 in aggregated query without group by,expression 1 of select list contains nonaggregated column yunva changke.u.user id...