DQL -- 数据查询

作者: GHope | 来源:发表于2018-09-06 00:19 被阅读47次

    Data Query Language 简称DQL,数据库查询语言, 关键字为SELECT。

    基础查询

    查询表中所有数据(PS:此时所用表为本文集中DML所创建)
    select * from star

    查询结果

    指定字段查询

    查询表中指定内容
    select name from star

    查询结果

    指定字段组合不重复

    查询表中指定内容,并对查询结果进行去重操作,自动保留第一个查询结果
    select distinct province from star

    查询结果

    为体现组合的效果,及接下来的一些查询操作,现在为该数据表添加部分数据(本数据纯属个人虚构,如有冒犯,请多多谅解!)

    insert into star(name,money,province,age) values('刘亦菲',233,'湖南',24),
        -> ('周杰伦',345,'台湾',33),
        -> ('古天乐',1234,'香港',24);
    

    现在表中数据:


    查询省份和年龄都不重复的明星的省份和年龄信息
    select distinct province,age from star

    查询结果

    由查询结果不难看出指定字段组合不重复的效果

    条件查询

    查询符合条件的信息
    select * from star where name='朱茵'

    查一下我女神,嘿嘿
    where后面可接条件
    where后面可接条件

    应用实例:
    查询star表中所有id小于5并且省份为香港的明星的年龄
    select age from star where id < 5 and province='香港'

    查询结果

    结果集排序

    查询star表中所有人的id,name和money信息,并根据money的值进行降序排序
    select id,name,money from star order by money desc

    查询结果 关键字说明

    多字段排序
    发现没有人的钱是一样的,所以为达到查询效果,继续添加数据

    insert into star(name,money,province,age) values('葛优',333,'北京',44),
        -> ('张北海',666,'北京',78);
    

    查询star表中所有人的id,name和money信息,并根据money的值进行降序排序,若money的值一样,则根据id值升序排序
    select id,name,money from star order by money desc, id

    查询结果

    限制查询的结果集

    设置查询结果的数量
    select name from star limit 5

    用途
    查询结果
    限制排序后的结果集
    select id,name,money from star order by money desc,id limit 3
    查询结果
    结果集区间选择
    查询star表中第三有钱和第四有钱的人
    select id,name,money from star order by money desc,id limit 2,2;
    语法
    查询结果 limit解决分页问题

    常用统计函数

    常用统计函数

    统计表中id总数:
    SELECT COUNT(id) FROM star

    统计结果

    分组

    根据省份进行分组
    select * from star group by province

    分组结果
    分组统计
    查询表中各个省份明星个数
    select province,count(*) from star group by province
    查询结果

    结果过滤

    查询表中省份明星个数大于3的省份及明星个数
    select province,count(*) as c from star group by province having c>3

    查询结果

    整体使用SQL

    使用顺序

    在书写查询语句的时候必须注意的一点是关键字的顺序,大致顺序与本文对关键字的介绍顺序一致。具体总结如下:
    SELECT --> FROM --> WHERE --> GROUP BY--> ORDER BY--> LIMIT --> HAVING

    (注:比较规范的写法是SQL语句的关键字为大写)

    相关文章

      网友评论

        本文标题:DQL -- 数据查询

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