美文网首页
常用的sql语句总结

常用的sql语句总结

作者: mili_8ea3 | 来源:发表于2019-05-06 17:57 被阅读0次

假设有两张表,一张是部门表department,一张是员工表staff
部门表的number代表部门编号,name代表部门名称



员工表的name代表员工姓名,number代表所属部门编号,commission代表额外佣金,salary代表固定工资



问题如下:
1.查询出工资最低的员工姓名以及工资
SELECT `name`,`salary` FROM staff WHERE salary = (SELECT MIN(staff.salary) FROM staff)

2.查询每个员工的所属部门

SELECT staff.`name` AS `员工名称`,department.`name` AS `部门名称` FROM staff,department WHERE staff.number = department.number

3.统计每个部门的人数,显示部门名称和部门人数

SELECT department.`name` AS `部门名称` ,COUNT(*) AS `部门人数` FROM staff,department WHERE staff.number = department.number GROUP BY `部门名称`

4.分别计算各部门平均commission额外佣金,平均salary固定工资,以及平均总工资
把计算出来的平均值强制转换为DECIMAL(10,2)

SELECT department.`name` AS `部门名称`,CAST(AVG(staff.`
commission`) AS DECIMAL(10,2)) AS `平均额外佣金`,CAST(AVG(staff.salary) AS DECIMAL(10,2)) AS `平均固定工资`,CAST(AVG(staff.`
commission` + staff.salary) AS DECIMAL(10,2)) AS `平均总工资` FROM staff,department WHERE staff.number = department.number GROUP BY department.`name`

5.计算commission额外佣金大于salary固定工资50%的员工姓名

SELECT staff.`name` AS `员工名称`, staff.`
commission` AS `额外佣金`, staff.salary AS `固定工资` FROM staff WHERE staff.`
commission`/staff.salary >= 1.5 ORDER BY staff.`
commission`/staff.salary

6.左连接,左边的表是全的

SELECT staff.`name`,department.`name` FROM staff LEFT JOIN department ON staff.number = department.number

7.右连接,右边的表是全的

SELECT staff.`name`,department.`name` FROM staff RIGHT JOIN department ON staff.number = department.number

8.内连接,两表的交集

SELECT staff.`name`,department.`name` FROM staff INNER JOIN department ON staff.number = department.number

9.全连接

SELECT * FROM staff FULL JOIN department

10.查询平均总工资大于等于12000的部门(Having的用法)

SELECT department.`name` AS `部门名称`,CAST(AVG(staff.`
commission`) AS DECIMAL(10,2)) AS `平均额外佣金`,CAST(AVG(staff.salary) AS DECIMAL(10,2)) AS `平均固定工资`,CAST(AVG(staff.`
commission` + staff.salary) AS DECIMAL(10,2)) AS `平均总工资` FROM staff,department WHERE staff.number = department.number GROUP BY department.`name` HAVING CAST(AVG(staff.`
commission` + staff.salary) AS DECIMAL(10,2)) >= 12000

11.正则表达式的使用,查询某姓的员工信息

SELECT * FROM staff WHERE `name` REGEXP '李'

12.字符串连接

SELECT CONCAT(`name`,'-----',salary) AS '员工固定工资' FROM staff

13.降序DESC

SELECT CONCAT(`name`,'-----',salary) AS '员工固定工资' FROM staff ORDER BY salary DESC

14.升序ASC

SELECT CONCAT(`name`,'-----',salary) AS '员工固定工资' FROM staff ORDER BY salary ASC

15.左连接查询出来的值为null,将null设为未知部门

SELECT staff.`name`,IFNULL(department.`name`,'未知部门') FROM staff LEFT JOIN department ON staff.number = department.number

16.ISNULL函数返回值为0,1

相关文章

  • SQL 常用优化手段总结 - 索引的应用

    系列文章回顾SQL 常用优化手段总结 - 分析 SQL 语句的一般步骤SQL 常用优化手段总结 - 索引的应用SQ...

  • SQL 常用优化手段总结 - 分析 SQL 语句的一般步骤

    系列文章回顾SQL 常用优化手段总结 - 分析 SQL 语句的一般步骤SQL 常用优化手段总结 - 索引的应用SQ...

  • 常用sql语句总结

    一、简介 *1、sql概念 : sql是结构化查询语言,是一种对关系型数据库中的数据进行定义和操作的语言,可以在程...

  • 常用sql语句总结

    1.创建表create create table if not exists ${tablename} (${sq...

  • SQL语句学习入门进阶(一)

    这次要总结的是在开发中必不可少的技能----SQL语句,本次对SQL语句进行了一些常用基础知识的总结。随着自己对S...

  • 常用的sql语句总结

    假设有两张表,一张是部门表department,一张是员工表staff部门表的number代表部门编号,name代...

  • MySQL语法模板

    本系列文章主要归纳MySQL的SQL语句和常用的函数。 SQL语句:主要分为常用的,show,表、索引,视图,函数...

  • SQL常用操作语句总结

    SELECT用来选取 WHERE语句用来筛选 常用操作符号 对于文本字符串的匹配 如果是精准匹配则用=和!=,否则...

  • MySQl 常见面试题

    一、SQL语句 问题、SQL语句有哪些类型,每种类型有哪些常用关键字? DDL:数据定义语句。常用关键字有crea...

  • 数据库基础<五>

    常用SQL语句 1、SQL语句主要分为哪几类 数据定义语言DDL(Data Ddefinition Languag...

网友评论

      本文标题:常用的sql语句总结

      本文链接:https://www.haomeiwen.com/subject/nxhdoqtx.html