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. JQuery:JQuery 中的CSS()方法

    JQuery:CSS()方法jQuery css()方法:css()方法设置或返回被选元素的一个或多个样式属性.1.返回 CSS 属性如需返回指定的 CSS 属性的值,请使用如下语法:css(&quo ...

  2. robotframework数据驱动框架

    即将更新...............

  3. 在Xcode6.1.1模拟器中点击UITextView不出现软键盘?

    使用Xcode6.1.1做一个小项目时,在storyboard中添加了一个UITextField,使用模拟器运行后,点击UITextField出现光标,也可以从外接键盘上输入文字,但是就是不出现软键盘 ...

  4. Power-BI仪表盘文本框排行分析设计要点

    例如:我在BI软件中做一个商品类别TOP5排行. 文本框默认绑定第一列,但是没显示是那个品类. 这里我们需要做几个操作来进行优化. 1.把品类显示出来. 在序列中找到标题进行显示,如果位置有重叠可以进 ...

  5. Java遇见HTML——JSP篇之JSP状态管理

    一.http协议的无状态 无状态性是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求.但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道他就是刚才的那个浏览器.简单的说,就是服务器不 ...

  6. IntelliJ IDEA 自动导入包 快捷方式

    idea可以自动优化导入包,但是有多个同名的类调用不同的包,必须自己手动Alt+Enter设置 设置idea导入包 勾选标注 1 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们优化 ...

  7. BCP及自增标识列

    10:58 2012-12-20 通过BCP命令导入导出数据 bcp "test.dbo.lxy133" out d:\lxy133.txt -SMSSQL$SQL08R2 -Us ...

  8. 设计视图不能用于 x64 和 ARM 目标平台

    设计视图不能用于 x64 和 ARM 目标平台

  9. 图像处理之泛洪填充算法(Flood Fill Algorithm)

    泛洪填充算法(Flood Fill Algorithm) 泛洪填充算法又称洪水填充算法是在很多图形绘制软件中常用的填充算法,最熟悉不过就是 windows paint的油漆桶功能.算法的原理很简单,就 ...

  10. SmartGit as SVN Bridge

    This page provides an introduction to SmartGit from an SVN users perspective and shows how the SVN w ...