掌握where、group、join语句和写SQL

目标

  1. 整理 sql的where各种条件
  2. 整理 sql的group
  3. 整理 sql的join
  4. 04txt文件的案例 9句sql
  5. 整理刚才分享的小知识点
  6. 补充资料文件夹 去看看执行
  7. 彩蛋 视频 sql

1.整理 sql 的 where 各种条件

where 子句: 如需有条件地从表中选取数据,可将 where 子句添加到 SELECT 语句。

语法

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

下面的运算符可在 where 子句中使用:

操作符 描述
= 等于
<> 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式

2.整理 sql 的 group

聚合函数 (比如 SUM) 常常需要添加 group by语句。

group by语句: group by语句用于结合聚合函数,根据一个或多个列对结果集进行分组。

语法

SELECT column_name, aggregate_function(column_name)
FROM table_name
where column_name operator value
group bycolumn_name

3.整理 sql 的 join

join分为inner join、left join、right join,分别表示内联结,左联结,右联结

inner join: 在表中存在至少一个匹配时,INNER JOIN 关键字返回行。

语法

SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name

注意: inner 与 join是相同的。

left join: left join 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

语法

SELECT column_name(s)
FROM table_name1
left join table_name2
ON table_name1.column_name=table_name2.column_name

注意: 在某些数据库中, left join 称为 left outer join。

right join right join 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。

语法

SELECT column_name(s)
FROM table_name1
right join table_name2
ON table_name1.column_name=table_name2.column_name

注意: 在某些数据库中, right join 称为 right outer join。

4. 04txt文件的案例9句sql

  • 查询出部门编号为30的所有员工的编号和姓名
  • 找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细资料。
  • 查询所有员工详细信息,用工资降序排序,如果工资相同使用入职日期升序排序
  • 列出薪金大于1500的各种工作及从事此工作的员工人数。
  • 列出在销售部工作的员工的姓名,假定不知道销售部的部门编号。
  • 查询姓名以S开头的\以S结尾\包含S字符\第二个字母为L __
  • 查询每种工作的最高工资、最低工资、人数
  • 列出薪金高于公司平均薪金的所有员工号,员工姓名,所在部门名称,上级领导,工资,工资等级
  • 列出薪金高于在部门30工作的 所有/任何一个员工的薪金的员工姓名和薪金、部门名称。

5.整理刚才分享的小知识点

  1. 关于count()的使用细节

    使用count(id)替换count(*)的使用,可以提升性能
  2. sum()与count()的区别与联想

    sum()计算统计字段的和,count()统计字段的数量,容易混淆,建议使用sum()联想count(),使用count()联想sum(),并区分
  3. sql语句的执行顺序

    select yyyyy from rzdata
    where xxx
    group byxxx having xxx
    order by xxx
    limit xxx ;
  4. all和any的区别

    all()的用法是表示要满足字段中所有值即最大值,any()的用法表示的是满足字段值任意一个值即最小值
  5. 聚合函数中的null值

    如果在进行数值计算的时候,字段中存在null值,则计算的结果是null值,在进行数值运算的时候使用IFNULL(expression, alt_value)替换null值为0,则能计算出结果
    如果第一个参数的表达式 expression 为 NULL,则返回第二个参数的备用值。
  6. unoin和union all的区别

    union的用法是把联合查询中的语句如果整体重复则去重,unoin all不会去重

6.补充资料文件夹 去看看执行

  资料文件中

7.彩蛋 视频 sql

  百度云中

Author: Tunan
Link: http://yerias.github.io/2018/10/03/mysql/3/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.