zoukankan      html  css  js  c++  java
  • SQL查询数据

    1. 基本查询

      SELECT * FROM <表名>

      使用SELECT * FROM students时,SELECT是关键字,表示将要执行一个查询,*表示“所有列”,FROM表示将要从哪个表查询

    2. 条件查询
      SELECT * FROM <表名> WHERE <条件表达式>

      条件表达式可以用<条件1> AND <条件2>表达满足条件1并且满足条件2;<条件1> OR <条件2>表示满足条件1或者满足条件2;NOT <条件>,表示“不符合该条件”的记录。而NOT class_id = 2等价于class_id <> 2。

    3. 投影查询
      SELECT 列1, 列2, 列3 FROM <表名> //返回某些列的数据 
      SELECT 列1 别名1, 列2 别名2, 列3 别名3 FROM <表名> //返回某些列的数据并修改列名
    4. 排序
      SELECT id, name, gender, score FROM students ORDER BY score DESC, gender;

      ORDER BY score表示按score排序,DESC表示倒序,gender表示如果score相同时按gender升序排序(默认ASC)。如果带有WHERE,则ORDER BY需要放在WHERE后面。

    5. 分页查询
      -- 查询第1页
      SELECT id, name, gender, score
      FROM students
      ORDER BY score DESC
      LIMIT 3 OFFSET 0;
      LIMIT表示显示数据行数,OFFSET表示开始显示的索引,从0开始。
    6. 聚合查询
      -- 使用聚合查询并设置结果集的列名为num:
      SELECT COUNT(*) num FROM students;

      使用聚合查询时还可以使用WHERE进行条件查询。除了COUNT(),还有SUM() AVG() MAX() MIN()等聚合函数。CEILING()表示向上取整,FLOOR()向下取整。
      聚合查询用于分组时:

      SELECT class_id, COUNT(*) num FROM students GROUP BY class_id;

      将会显示3个结果,在SELECT后加入字段class_id,可以分组统计出class_id各个count值。
      此外,分组前还可以进行条件筛选:

      SELECT class_id, COUNT(*) num FROM students WHERE score > 90 GROUP BY class_id;

       分组后,还可以对分组进一步筛选:

      SELECT class_id, COUNT(*) num FROM students WHERE score > 90 GROUP BY class_id HAVING COUNT(*) > 2;

      WHERE和HAVING的区别:a.where在分组前限定,如果不符合要求,则不参与分组;having在分组之后限定,如果不符合要求,将不会被查询出来。b.where后不可跟聚合函数,having后可以进行聚合函数的判断。

    7. 连接查询
      SELECT s.id, s.name, s.class_id, c.name class_name, s.gender, s.score
      FROM students s
      INNER JOIN classes c
      ON s.class_id = c.id;
  • 相关阅读:
    索引与搜索框架Lucene
    AutoResetEvent和ManualResetEvent的理解
    hadoop mapreduce 过程详解
    使用Visual Studio进行代码度量
    MethodImplAttribute 类和 SynchronizationAttribute 类
    开发定时服务应用
    DispatcherTimer与Dispatcher小小应用
    WCF问题
    玩转博客园的心路总结
    工作中碰到的一些东西【弹出窗口】【拖放】【异步文件上传】
  • 原文地址:https://www.cnblogs.com/try4396/p/12170939.html
Copyright © 2011-2022 走看看