mysql笔记整理2---数据表查询(重点)

  • 普通查询

    select * from 表名;  -- 查询全部字段的记录
    
    select field as 别名 from 表名;  -- 给字段起别名,也可以给表名起别名
    
    select 表名.field from 表名;  -- 可以通过表名.字段的方式查看字段的记录
    
  • 条件查询

    where后面支持多种运算符:比较运算符、逻辑运算符、模糊查询、范围查询、空判断。

    -- 比较:< > = !=
    
    -- 逻辑:and or not
    
    -- 模糊
    	-- like:%-替代0、1或多个,_替代一个
    	-- rlike:正则匹配查找,匹配的是varchar类型的字节即
    
    -- 范围
    	-- in / not in
    	-- between and / not between and
    
    -- 判断
    	-- is null
    	-- is not null
    
    -- 优先级
    -- 优先级由高到低的顺序为:小括号,not,比较运算符,逻辑运算符
    -- and比or先运算,如果同时出现并希望先算or,需要结合()使用
    

    优先级由高到低的顺序为:小括号,not,比较运算符,逻辑运算符

    and比or先运算,如果同时出现并希望先算or,需要结合()使用

  • 排序

    -- order by 字段 asc/desc[, 字段 asc/desc]
    
    -- asc 从小到大排列,升序
    
    -- desc 从大到小排列,降序
    
  • 聚合函数

    count, sum, max, min, avg, round

  • 分组

group by 用于单个字段分组,也可用于多个字段分组,按照指定的字段进行分组。

group_concat()/聚合函数可以与group by 组合使用。

​ having 条件表达式:用来分组查询后指定一些条件来输出查询结果

说明:group by后面只能使用having条件语句。

  • 分页

    -- start 指的是起始位置数据的下标。
    select * from 表名 limit start, count
    
  • 链接查询

内连接查询:查询的结果为两个表匹配到的数据

左连接查询:查询的结果为两个表匹配到的数据,左表特有的数据,对于右表中不存在的数据使用null填充

右连接查询:查询的结果为两个表匹配到的数据,右表特有的数据,对于左表中不存在的数据使用null填充

语法:select * from 表1 inner或left或right join 表2 on 表1.列 = 表2.列

  • 子查询

在一个 select 语句中,嵌入了另外一个 select 语句, 那么被嵌入的 select 语句称之为子查询语句

查询的结果可以作为另一个查询的条件

posted @ 2018-07-17 11:13  三叶草body  阅读(161)  评论(0)    收藏  举报