思路

搭框架 -> 看条件 -> 看字段

1.搭建框架:需要连接哪几个表

比如: E(empid,empname,deptid,sex,leader) D(deptid,deptname) S(empid,salary)
上述三张表分别是:员工表 部门表 薪资表

----三表连接
SELECT * FROM E INNER JOIN D
ON E.deptid  = D.deptid INNER JOIN S
ON E.empid = S.empid; 

2.看条件

比如:比王昭君工资高的职员姓名和工资
条件1:王昭君的工资是?
条件2:工资>条件1

-----条件1
--SELECT salary FROM E JOIN S
--ON E.empid = S.empid
WHERE empname ='王昭君'-----条件2
--SELECT E.empname,salary FROM E JOIN S
--ON E.empid = S.empid
WHERE salary>(--SELECT salary FROM E JOIN S ON E.empid = S.empid
WHERE empname ='王昭君')

3.看字段

比如:比王昭君工资高的职员姓名和工资
字段1:工资
字段2:职员姓名和工资

----字段1:salary
SELECT salary FROM E JOIN S
--ON E.empid = S.empid
--WHERE empname ='王昭君'----字段2:empname,salary
SELECT E.empname,salary FROM E JOIN S
--ON E.empid = S.empid
--WHERE salary>(SELECT salary FROM E JOIN S
--ON E.empid = S.empid
--WHERE empname ='王昭君')

练习

1.查看男、女各自的平均工资

框架:E empid,sex S empid,salary
条件:性别分组
字段:平均工资

SELECT avg(salary),sex  FROM E JOIN S
ON E.empid = S.empid
GROUP BY sex

2.查看各部门的平均工资

框架:E empid,deptid D deptid deptname S empid,salary
条件:部门分组
字段:平均工资,部门名

SELECT avg(salary),deptname FROM E INNER JOIN D
ON E.E.deptid  = D.deptid INNER JOIN S
ON E.empid = S.empid
GROUP BY e.deptid

3.查看高于平均工资的男性的姓名和工资

框架:E empid,sex S empid,salary
条件1:平均工资是?
条件2:性别为男 且 工资>条件1
字段:姓名和工资

SELECT empname,salary FROM E JOIN S
ON E.empid = S.empid
WHERE sex='男' AND salary>(
SELECT avg(salary) FROM salary)

4.找出工资最高的前三名的姓名和员工号

框架:E empid,empname S empid,salary
条件:工资降序排序 并 取前三
字段:姓名和员工号

SELECT  e.empid,empnameFROM E INNER JOIN S
ON E.empid = S.empid
ORDER BY salary desc LIMIT 3

5.找出工资最低的员工姓名,工号以及所在部门

框架:E empid,deptid D deptid deptname S empid,salary
条件:工资排序 并 取1个
字段:员工号 ,姓名,部门名

SELECT  e.empid,empname,deptname FROM E INNER JOIN S
ON E.empid = S.empid JOIN D
ON E.empid = D.empid
ORDER BY salary  LIMIT 1

6.查看所有工资在1000-2000的员工信息

框架:E empid,*** S empid,salary
条件:工资范围1000-2000
字段:*全部信息

SELECT * FROM E JOIN S
ON E  = S
WHERE salary BETWEEN 1000 AND 2000

7.列出‘百里守约’所有下属的姓名和工资

框架:E empid,leader S empid,salary
条件1:百里守约的empid
条件2:leader=条件1
字段:姓名,工资

SELECT empname,salary FROM E JOIN S
ON E.empid = S,empid
WHERE leader = (SELECT empid FROM E WHERE ='百里守约')

8.求‘测试部’员工最高与最低的工资相差多少

框架:E empid,deptid,leader D deptid deptname S empid,salary
条件:deptname=‘测试部’
字段:MAX(salary)-MIN(salary)

SELECT MAX(salary)-MIN(salary) FROM E INNER JOIN D
ON E.E.deptid  = D.deptid INNER JOIN S
ON E.empid = S.empid
WHERE deptname='测试部'

数据库SQL语句 | 快速上手 | 面试复习相关推荐

  1. 数据库SQL语句 快速入门(一)

    SQL 是 Structured Query Language简写, SQL 用于组织.访问和处理数据库中的数据标准的计算机语言 本章讲述的SQL的分类,具体实例讲解看后面的文章. 分类: DDL   ...

  2. 嵌入式SQL编程快速上手教程

    嵌入式SQL编程快速上手教程 声明:我这里标题虽是<嵌入式SQL编程快速上手教程>,但只是嵌入式SQL编程的冰山一角罢了,我会通过举一道简单例题来教小白快速上手嵌入式SQL编程 第一:题目 ...

  3. oracle数据库----SQL语句的实践(应用实例)

    oracle数据库----SQL语句的实践(应用实例) 创建表工资表salary,包括员工号emp_id,员工名emp_name,员工月基本工资monthsal,员工月总发工资totalsal. cr ...

  4. MySQL删除s表命令_SQLServer数据库sql语句中----删除表数据drop、truncate和delete的用法...

    本文主要向大家介绍了SQLServer数据库sql语句中----删除表数据drop.truncate和delete的用法,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 虽 ...

  5. 建立学生选课表 mysql 语句_学生选课数据库SQL语句45道练习题整理及mysql常用函数(20161019)...

    学生选课数据库SQL语句45道练习题: 一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四 ...

  6. mysql sql exists_数据库sql语句的exists总结

    数据库sql语句的exists总结 sql exists in 学习 先来比较下语法: --deals=交易表,areas=地域表,例如香港:我们的目的:查看有交易的地域 select * from ...

  7. 计算机导论sql试题,数据库SQL语句练习题

    一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...

  8. 数据库三级考mysql还是sqlse_计算机三级考试数据库SQL语句整理

    计算机三级考试数据库SQL语句整理 本文是关于计算机三级考试数据库SQL语句整理,包括创建数据库.删除数据库.备份sql server.创建新表等,供同学们参考学习!想了解更多相关信息请持续关注我们应 ...

  9. 数据库SQL语句课堂总结(2)——子查询

    废话引言 我有一个梦想,有一天能跟上单大师敲sql的速度QAQ 本文数据库同数据库SQL语句课堂总结(1) 主要介绍子查询的相关语句 正文开始 子查询介绍 定义: 子查询允许把一个查询嵌套在另一个查询 ...

最新文章

  1. mysql autocommit 脚本_mysql autocommit的差异
  2. 【Java】浅析SimpleDateFormat类
  3. Bootstrap表单控件的尺寸
  4. JavaScript 九种跨域方式实现原理 1
  5. 监听滚动条和浏览器大小变化
  6. 29岁学java_今年29岁小学文化,想学java请各位指点怎么入手?
  7. redis的基础配置
  8. Python3安装核心价值观包报错
  9. 小巧的KML文件生成工具KML Generator
  10. 安卓系统原生定位不可用修改
  11. AppFuse 安装
  12. 基于C++实现DBSCAN聚类算法
  13. CF1467B Hills And Valleys 题解
  14. 咸鱼Maya笔记—创建NURBS基本体
  15. html点击打开word文档,javascript打开word文档的方法
  16. 【无标题】黑群辉DSM 6.2.3 系统安装图文教程 (2020-12-27更新)
  17. 娃娃乐学拼音软件许可及服务协议
  18. 【语音去噪】基于切比雪夫+椭圆形低通滤波器语音去噪附GUI界面
  19. 晨枫U盘启动盘之启动画面OEM
  20. 【STM32训练—WiFi模块】第一篇、STM32驱动ESP8266WiFi模块获取网络时间

热门文章

  1. webgl之helloworld
  2. koa2 导出excel表格设置样式_一调整Excel表格的行列宽度,图片又得重新调整?点这个设置就行...
  3. 增值电信业务许可证 年审年报 教程 icp sp idc年审年报
  4. js怎么给div加滑动条 vue给弹出层加滑动条(一分钟学会用js加滚动条)
  5. lombok 的使用
  6. guid会不会重复_最笨的方法也许是最快的方法,量变到质变,首先要做的是不断重复...
  7. c店店铺名怎么用旗舰店_大发现!三利和洁丽雅2大国民毛巾品牌也有1688店铺!...
  8. python程序字符串中字符排序_python字符串排序方法
  9. qt web混合编程_基于Qt与MATLAB的混合编程技术
  10. dbforge连接mysql_DbForge Schema Compare for MySQL入门教程:如何连接到数据库