微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mysql 常用语句实战3

前置 sql 语句

用来创建表、插入数据

SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE
IF
    EXISTS dept_;-- 部门表
EXISTS emp_;1;

SELECT  @@FOREIGN_KEY_CHECKSCREATE TABLE dept_ ( DEPTNO INT PRIMARY KEY, 部门编号
DNAME VARCHAR ( 14 ),1)"> 部门名称
LOC 13 )  部门地址
);
INSERT INTO dept_
VALUES
    ( 10,'ACCOUNTING',1)">NEW YORK' );
20,1)">RESEARCHDALLAS30,1)">SALESCHICAGO40,1)">OPERATIONSBOSTONTABLE emp_ (
emp_NO  员工编号
ENAME 10 ),1)"> 员工名称
JOB 9 ),1)"> 工作
MGR DOUBLE,1)"> 直属领导编号
HIREDATE DATE,1)"> 入职时间
SAL  工资
COMM  奖金
DEPTNO INT,1)"> 部门号
FOREIGN KEY ( DEPTNO ) REFERENCES dept_ ( DEPTNO ) 
);
 emp_
7369,1)">SMITHCLERK7902,1)">1980-12-17800,1)">NULL,1); font-weight: bold">207499,1)">ALLENSALESMAN7698,1)">1981-02-201600,1); font-weight: bold">300,1); font-weight: bold">307521,1)">WARD1981-02-221250,1); font-weight: bold">500,1); font-weight: bold">7566,1)">JOnesMANAGER7839,1)">1981-04-022975,1); font-weight: bold">7654,1)">MARTIN1981-09-281400,1)">BLAKE1981-05-012850,1); font-weight: bold">7782,1)">CLARK1981-06-092450,1); font-weight: bold">107788,1)">SCottANALYST1987-07-133000,1)">KINGPRESIDENT1981-11-175000,1); font-weight: bold">7844,1)">TURNER1981-09-081500,1); font-weight: bold">0,1); font-weight: bold">7876,1)">AdamS1100,1); font-weight: bold">7900,1)">JAMES1981-12-03950,1)">FORD7934,1)">MILLER1982-01-231300,1); font-weight: bold">10 );

 

问题列表

1、列出至少有三个员工的所有部门和部门信息。

2、列出受雇日期早于直接上级的所有员工的编号,姓名,部门名称

3、列出职位为“CLERK”的姓名和部门名称,部门人数:

 

答案列表

1.列出至少有三个员工的所有部门和部门信息。

select * from dept_ where DEPTNO in (select DEPTNO from emp_ group by DEPTNO having count(1) >= 3)

2.列出受雇日期早于直接上级的所有员工的编号,姓名,部门名称
select a.emp_NO,a.ENAME,(select DNAME from dept_ c where a.DEPTNO = c.DEPTNO) "部门名称" from emp_ a join emp_ b on a.MGR = b.emp_NO where a.HIREDATE < b.HIREDATE

.列出职位为“CLERK”的姓名和部门名称,部门人数:
select group_concat(a.ENAME),b.DNAME,count(1) from emp_ a join dept_ b on a.DEPTNO = b.DEPTNO  where a.JOB = CLERK" group by b.DEPTNO

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐