• Mysql基础知识:查询数据


    Mysql 查询数据

    1. 基本查询语句

    SELECT   属性列表
             FROM   表名和视图列表
             WHERE   条件表达式1
             GROUP BY   属性名1   [HAVING  条件表达式2]
             ORDER BY   属性名2   [ASC | DESC];

      GROUP BY表示按照属性名1指定的字段进行分组。如果后面包括HAVING关键字,则表示只有满足条件表达式2的才能输出。

    2. 单表查询

      1)查询所有字段

    SELECT * FROM   表名;

      2)查询指定字段

    SELECT   属性名   FROM   表名;

      3)查询指定记录

    SELECT   属性名   FROM   表名   WHERE   条件表达式;

      4)IN关键字查询

    SELECT   属性名   FROM   表名   WHERE   属性名  [NOT]  IN (元素1, 元素2, ...);

      5)BETWEEN ADN查询

    SELECT   属性名   FROM   表名   WHERE   属性名   [NOT]   BETWEEN   取值1   AND   取值2;

      6)LIKE关键字查询

    SELECT   属性名   FROM   表名   WHERE   属性名    [NOT]   LIKE   '字符串';

      7)查询空值

    SELECT   属性名   FROM   表名   WHERE   属性名   IS   [NOT]   NULL;

      8)AND多条件查询

    SELECT   属性名   FROM   表名   WHERE   条件表达式1   AND   条件表达式2   AND  ...;

      9)OR多条件查询

    SELECT   属性名   FROM   表名   WHERE   条件表达式1   OR   条件表达式2   OR  ...;

      10)查询结果不重复

    SELECT   DISTINCT   属性名   FROM   表名   WHERE   条件表达式;

      11)对查询结果排序

    SELECT   属性名1   FROM   表名   ORDER   BY   属性名2   [ASC | DESC];

      12)分组查询

    SELECT   属性名1   FROM   表名   GROUP   BY   属性名2   HAVING   条件表达式   WITH ROLLUP;

      HAVING条件表达式用来限制条件,WITH ROLLUP表示加上一条表示所有记录总和的记录。

      13)LIMIT限制查询结果的数量

    SELECT   *   FROM   表名   LIMIT   记录数;
    SELECT   *   FROM   表名   LIMIT   初始位置, 记录数;

      注意:第一条记录位置是0。

    3. 使用集合函数查询

       集合函数包括COUNT()、SUM()、AVG()、MAX()、MIN()。COUNT()统计记录的条数,SUM()计算字段值的总和。

    4. 连接查询

      1)内连接查询

        只查询两表相匹配的记录。

    SELECT   属性名列表
             FROM   表名1, 表名2
             WHERE   表名1.属性名1 = 表名2.属性名2;
    SELECT   属性名列表
             FROM   表名1   INNER JOIN   表名2
             ON   表名1.属性名1 = 表名2.属性名2;

      2)外连接查询

    SELECT   属性名列表
             FROM   表名1   LEFT | RIGHT   JOIN   表名2
             ON   表名1.属性名1 = 表名2.属性名2;

      左连接查询:查询表名1中所有记录和表名2中匹配的记录。

      右连接查询:查询表名2中所有记录和表名1中匹配的记录。

    5. 子查询

      1)IN关键字

    SELECT  *   FROM   表名1  WHERE   属性名1   IN  (SELECT查询子句);

      2)比较运算符

        子查询可以使用的比较运算符包括:=、!=、>、>=、<、<=、<>,其中!=和<>等价。

    SELECT  *   FROM   表名1  WHERE   属性名1   比较运算符  (SELECT查询子句);

      3)EXISTS关键字

    SELECT  *   FROM   表名1  WHERE   属性名1  [NOT]  EXISTS  (SELECT查询子句);

      4)ANY关键字

        ANY表示满足其中任一条件即可。即只要满足内层查询语句返回结果中的任何一个,就可以通过该条件来执行外层查询语句。

      5)ALL关键字

        ALL表示满足所有条件。

    6. 合并查询结果

    SELECT   语句1
        UNION | UNION ALL
    SELECT   语句2
        UNION | UNION ALL
    ...

      UNION:将所有查询结果合并在一起,然后去除相同的记录;

      UNION ALL:简单合并。

    7. 为表和字段取别名

      1)为表取别名

        表名   表的别名

      2)为字段去别名

        属性名   [AS]   别名

    8. 使用正则表达式

      属性名   REGEXP   '匹配方式'

  • 相关阅读:
    关于json的一些自己的了解
    .Net Core 控制台 使用Topshelf 加入DI(服务注册)
    【Linux】Centos7 入门到放弃记录
    【git】.net core +git减少包体积
    【git-bug累计】实践中git命令出现的问题总结
    [Bug] uni-app 上下切屏tabbar底部导航显示问题
    .NetCore2.0 vue-element-admin 出现的错误记录
    黑盒测试总结
    sql 学习笔记
    Linux 学习笔记
  • 原文地址:https://www.cnblogs.com/jx-yangbo/p/6391899.html
Copyright © 2020-2023  润新知