dept(deptno,dname,loc)
emp(empno,ename,job,mgr,hiredate,sal,COMM,deptno)
salgrade(grade,losal,hisal)
stu(sid,sname,age,gander,province,tuition)

单表查询题目
====================================================
dept(deptno,dname,loc)
emp(empno,ename,job,mgr,hiredate,sal,COMM,deptno)
salgrade(grade,losal,hisal)
stu(sid,sname,age,gander,province,tuition)
1. 查询出部门编号为30的所有员工
SELECT
stu.sname
FROM
stu
WHERE
stu.sid = 30 2. 所有销售员的姓名、编号和部门编号。
SELECT
emp.empno,
emp.ename,
emp.deptno
FROM
emp
WHERE
emp.job = '销售员' 3. 找出奖金高于工资的员工。
SELECT
emp.ename
FROM
emp
WHERE
emp.COMM > emp.sal 4. 找出奖金高于工资60%的员工。
SELECT
emp.ename
FROM
emp
WHERE
emp.COMM > emp.sal*0.6
5. 找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细资料。
SELECT
emp.empno,
emp.ename,
emp.job,
emp.hiredate,
emp.sal,
emp.deptno
FROM
emp
WHERE
(emp.job = '经理' AND
emp.deptno = 20) OR
(emp.job = '销售员' AND
emp.deptno = 10) 6. 找出部门编号为10中所有经理,部门编号为20中
所有销售员,还有即不是经理又不是销售员但其
工资大或等于20000的所有员工详细资料。
SELECT
emp.empno,
emp.ename,
emp.job,
emp.hiredate,
emp.sal,
emp.deptno
FROM
emp
WHERE
(emp.job = '经理' AND
emp.deptno = 20) OR
(emp.job = '销售员' AND
emp.deptno = 10)OR(emp.job != '经理' AND emp.job != '销售员' AND
emp.sal>=20000) 7. 无奖金或奖金低于1000的员工。
SELECT
emp.empno,
emp.ename,
emp.job
FROM emp
WHERE
emp.COMM < 1000 OR
emp.COMM IS NULL
8. 查询名字由三个字组成的员工。
SELECT emp.ename
FROM emp
WHERE emp.ename LIKE '___'
9.查询2000年入职的员工。
SELECT emp.ename
FROM emp
WHERE emp.hiredate LIKE '2000-__-__'
#'2000%'
10. 查询所有员工详细信息,用编号升序排序
SELECT
emp.empno,
emp.ename,
emp.job,
emp.mgr,
emp.hiredate,
emp.sal,
emp.COMM,
emp.deptno
FROM
emp
ORDER BY
emp.empno ASC
11. 查询所有员工详细信息,用工资降序排序,如果工资相同
使用入职日期升序排序
SELECT
emp.empno,
emp.ename,
emp.job,
emp.mgr,
emp.hiredate,
emp.sal,
emp.COMM,
emp.deptno
FROM
emp
ORDER BY
emp.sal DESC,
emp.hiredate ASC 12. 查询每个部门的平均工资
SELECT
emp.deptno,AVG(sal)
FROM
emp
GROUP BY
emp.deptno 13. 查询每个部门的雇员数量。
SELECT
emp.deptno,COUNT(1)
FROM
emp
GROUP BY
emp.deptno
14. 查询每种工作的最高工资、最低工资、人数
SELECT
emp.job,MAX(sal),MIN(sal),COUNT(1) AS 人数
FROM
emp
GROUP BY
emp.job 多表查询题目
====================================================
dept(deptno,dname,loc)
emp(empno,ename,job,mgr,hiredate,sal,COMM,deptno)
salgrade(grade,losal,hisal)
stu(sid,sname,age,gander,province,tuition)


1. 查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数。
SELECT dept.deptno,dept.dname,dept.loc,COUNT(emp.deptno) AS 部门人数
FROM dept,emp
WHERE dept.deptno=emp.deptno
GROUP BY dept.deptno 2. 列出所有员工的姓名及其直接上级的姓名。
SELECT e.ename, IFNULL(m.ename, 'BOSS') AS lead
FROM emp e LEFT JOIN emp m
ON e.mgr=m.empno;
3. 列出受雇日期早于直接上级的所有员工的编号、姓名、部门名称。
SELECT
e.empno,
e.ename,
d.dname
FROM
emp AS e
INNER JOIN emp AS m ON e.mgr = m.empno
LEFT JOIN dept AS d ON e.deptno = d.deptno
WHERE
e.hiredate < m.hiredate
4. 列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。
SELECT e.*, d.dname
FROM emp e RIGHT JOIN dept d
ON e.deptno=d.deptno;
5. 列出最低薪金大于15000的各种工作及从事此工作的员工人数。
SELECT e.job,COUNT(*) AS 员工人数
FROM
emp e
GROUP BY job
HAVING MIN(sal)>15000 6. 列出在销售部工作的员工的姓名,假定不知道销售部的部门编号。
SELECT e.ename
FROM emp e
WHERE
(SELECT e.deptno
FROM dept
WHERE dname='销售部' )
7. 列出薪金高于公司平均薪金的所有员工信息,所在部门名称,上级领导,工资等级。
SELECT e.*,d.dname,s.grade
FROM emp e
NATURAL LEFT JOIN dept d
LEFT JOIN emp m ON m.empno=e.mgr
LEFT JOIN salgrade s ON e.sal BETWEEN s.losal AND s.hisal
WHERE e.sal > (SELECT AVG(sal) FROM emp) 8.列出与庞统从事相同工作的所有员工及部门名称。
SELECT e.*, d.dname
FROM emp e, dept d
WHERE e.deptno=d.deptno AND e.job=(SELECT job FROM emp WHERE ename='庞统'); 9.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金、部门名称。
SELECT e.ename, e.sal, d.dname
FROM emp e, dept d
WHERE e.deptno=d.deptno AND sal > ALL(SELECT sal FROM emp WHERE deptno=30)

mysql单表查询&&多表查询(职员表14+9)的更多相关文章

  1. MySQL简单实现多字段模糊查询

    我所做的商城项目前些时提了新需求,要求前台搜索商品除了能通过商品名称搜索到以外,还可以通过别个信息搜索,比如:商品编号.详情内容描述等等,类似于全文搜索了.我首先想到的就是lucene,但是对代码这样 ...

  2. mysql单表多表查询

    单表查询语法: select 字段1,字段2... from 表名where 条 件group by fieldhaving 筛选order by 字段limit 限制条数 关键字的优先级:from  ...

  3. python mysql 单表查询 多表查询

    一.外键 变种: 三种关系: 多对一 站在左表的角度: (1)一个员工 能不能在 多个部门? 不成立 (2)多个员工 能不能在 一个部门? 成立 只要有一个条件成立:多 对 一或者是1对多 如果两个条 ...

  4. MySQL单表多次查询和多表联合查询,哪个效率高?

    很多高性能的应用都会对关联查询进行分解. 简单地,可以对每个表进行一次单表查询,然后将结果在应用程序中进行关联.例如,下面这个查询: select * from tag join tag_post o ...

  5. MySQL单表多字段模糊查询

    今天工作时遇到一个功能问题:就是输入关键字搜索的字段不只一个字段,比如 我输入: 超天才 ,需要检索出 包含这个关键字的 name . company.job等多个字段.在网上查询了一会就找到了答案. ...

  6. Mysql 单表查询 子查询 关联查询

    数据准备: ## 学院表create table department( d_id int primary key auto_increment, d_name varchar(20) not nul ...

  7. mysql查询操作之单表查询、多表查询、子查询

    一.单表查询 单表查询的完整语法: .完整语法(语法级别关键字的排列顺序如下) select distinct 字段1,字段2,字段3,... from 库名.表名 where 约束条件 group ...

  8. SQL学习笔记四(补充-1)之MySQL单表查询

    阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录 ...

  9. python开发mysql:单表查询&多表查询

    一 单表查询,以下是表内容 一 having 过滤 1.1 having和where select * from emp where id > 15; 解析过程;from > where ...

  10. MySQL单表数据查询(DQL)

    数据准备工作: CREATE TABLE student( sid INT PRIMARY KEY AUTO_INCREMENT, sname ), age TINYINT, city ), scor ...

随机推荐

  1. 我的工具箱之Opera浏览器

    下载地址:http://pan.baidu.com/s/1gdVQA11 刚出来时挺火的,后来有点渐趋式微了.

  2. UILabel属性

    1.text:设置标签显示文本. 2.attributedText:设置标签属性文本. Ios代码 NSString *text = @"first"; NSMutableAttr ...

  3. 使用jquery的小记

    随便写点 1.给span这种标签赋值  不能用$("#id").val("abc"); 因为这种标签没有value属性 而应该用$("#id" ...

  4. IOS Certificates 制作流程 (Adobe FlashBuilder)

    看到一个Adobe 官方的PDF 说的非常明白,比自己一步一步总结的要好多了 怎么生成 以及为何生成都有说明 http://help.adobe.com/en_US/ppcompdoc/Adobe_P ...

  5. execute、executeQuery和executeUpdate之间的区别

    JDBCTM中Statement接口提供的execute.executeQuery和executeUpdate之间的区别 Statement 接口提供了三种执行 SQL 语句的方法:executeQu ...

  6. 转:Apache POI Tutorial

    Welcome to Apache POI Tutorial. Sometimes we need to read data from Microsoft Excel Files or we need ...

  7. exec 临时表,报错

    因为零时表只存在于一个exec 会话中,所以可以用 多个 select 返回到 dataset 中处理多个table,按照select 的顺序,读取 tables[0],table[1] , 多用于统 ...

  8. 比较二个文件的最后修改时间FileListener

    import java.io.File; import java.text.SimpleDateFormat; import java.util.Timer; import java.util.Tim ...

  9. 夺命雷公狗—angularjs—12—get参数的接收

    我们在实际的开发中get和post的交互都是离不开的,我们先来研究下get参数是如何接收到的.. 而且在实际开发中利用json来进行传递参数也是比较多的,这里我们就以get来接收参数为列.. 先创建一 ...

  10. 文本挖掘之特征选择(python 实现)

    机器学习算法的空间.时间复杂度依赖于输入数据的规模,维度规约(Dimensionality reduction)则是一种被用于降低输入数据维数的方法.维度规约可以分为两类: 特征选择(feature ...