美文网首页
5. DQL语句和查询相关语句以及多表查询

5. DQL语句和查询相关语句以及多表查询

作者: 面糊 | 来源:发表于2016-06-16 17:22 被阅读111次

    DQL语句和查询相关语句以及多表查询

    一. DQL语句

    1. 数据查询语句DQL(Data Query Language), 用于查询获得表中的数据, 主要关键字为select

    2. 格式:

      • 查询特指字段
        • select 字段1, 字段2.... from 表名
      • 查询所有的字段
        • select * from 表名
    3. 示例:

      • select name, age from T_human
      • select * from T_human where age > 10 // 条件语句查询

    二. 查询相关语句(重要)

    1. 统计语句

      1. count: 查询数据的个数
        • select count(*) from T_human // 查询表中所有数据的个数
        • select count(age) from T_human // 查询age有值的数据的个数, null不计算在内
      2. avg: 计算某个字段的平均值
        • select avg(age) from T_human // 统计所有的age的值, 并且计算平均值
      3. sum: 计算某个字段的总和
        • select sum(age) from T_human // 计算所有age值的总和
      4. max: 获取某个字段的最大值
        • select sum(X) from T_human
      5. min: 获取某个字段的最小值
        • select min(X) from T_human
      6. 注意: 上述语句中, 与计算值有关的, 都只能作用与数字类型(integer, real), 不能作用于Text这样的文本
    2. 排序语句

      • 对查询出来的结果, 可以使用order by进行排序, 格式如下
        • select 字段1, 字段2 from 表名 order by 字段 // 先查询需要的两个字段, 然后根据后面的字段排序
        • select * from T_human order by age // 查询表中所有的数据, 然后根据age排序
      • order by默认是按照升序排序的, 可以通过后缀来设置升序/降序
        • select * from T_human order by age asc // 升序
        • select * from T_human order by age desc // 降序
      • 根据多个字段, 来进行排序, 如
        • select age, height from T_human order by age asc, height desc 先根据age升序排序, 如果age相等, 就根据height降序

    三. 多表查询

    1. 多表查询, 可以同时在两张表格中, 根据指定的字段来查询所需的数据

      • 格式: select 表名.字段1, 字段2.... from 表名1, 表名2
      • 注意, 如果两个表有同样的字段, 那么在查询的时候, 要使用表名.字段的方式查询
    2. 给表或者字段起别名

      • select 别名1.字段1 as 字段别名1, 别名2.字段2 as 字段别名2.... from 表名1 as 别名 1
      • 可以给表或者字段单独起别名
      • as可以省略
      • 在开发中, 尽量不要使用别名, 容易引起问题
    3. 表连接查询

      • select 字段1, 字段2... from 表名1, 表名2 where 表名1.id = 表名2.id
      • 他可以根据两个表中, 查询id相等的字段
    4. 外键

      • 如果表A的主键是表B中的字段的话, 则称该字段为表B的外键
      • 保持数据一致性, 完成性, 主要目的是控制存储在外键表中的数据
      • 使两张表形成关联, 外键只能引用外表中的列的值或者使用空值

    相关文章

      网友评论

          本文标题:5. DQL语句和查询相关语句以及多表查询

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