Mysql 常用语句实战(3)
发布时间:2020-12-12 02:13:36 所属栏目:MySql教程 来源:网络整理
导读:前置 sql 语句 用来创建表、插入数据 SET FOREIGN_KEY_CHECKS = 0 ; DROP TABLE IF EXISTS dept_; -- 部门表 EXISTS emp_; 1 ; SELECT @@FOREIGN_KEY_CHECKS CREATE TABLE dept_ ( DEPTNO INT PRIMARY KEY , 部门编号 DNAME VARCHAR ( 14 ),1)"> 部门名称 LO
前置 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 ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |