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

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的外键
    • 保持数据一致性, 完成性, 主要目的是控制存储在外键表中的数据
    • 使两张表形成关联, 外键只能引用外表中的列的值或者使用空值
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容