美文网首页程序员
Mysql之DQL数据查询语言

Mysql之DQL数据查询语言

作者: hello_我的哥 | 来源:发表于2018-06-06 18:46 被阅读249次

    语法:select 列名1,列名2.....from 表名   where 条件;

    查询所有字段  select * from 表名  where 条件;

    过滤重复的值:select distinct 列名 from 表名;

    连接:select concat_ws('连接符',字段1,字段2) as  变量  from 表名;concat_ws()其实就是一个连接函数,把查出来的值连接在一起;

    也可以直接使用concat函数拼接在一起

    加别名:select  字段1 as 别名1,字段2  as 别名2  from 表;别名只是查出来的时候显示的不会改变原有数据库的字段;

    模糊查询:select 字段1,字段2...from 表名  where  字段名  like   值;

    这种相当于是=,

    左模糊匹配就在值的左边加一个%,右模糊匹配就在值的右边加一个%,全模糊匹配就在两边都加%,%的意思就是所有字符;

    排序:select * from 表名 order by 字段名  asc(升序,默认)  [desc  降序]

    聚合函数:

    1.查询表的记录数: select count(*)  from 表名;

    2.查询此列的和:select  sum(列名) from 表名:

    3.查询此列的平局值:select avg(列名) from 表名:

    4.查询此列的最大值:select max(列名) from 表名;

    5.查询此列的最小值:select min(列名) from  表名;

    分组查询:select * from 表名 group by 字段;

    内连接查询:我们有两张表,一张表记录学生的基本信息,另一张表记录学生的分数,我们要查询出每个学生对应的分数,

    先准备数据:我们可以看出mark表有个字段std_id是学生表的id,意思就是这两张表是通过std_id关联的,其实就是学生表的主键是分数表的外键,我们可以通过学生的id去查找分数,

    查询1:只能用where

    查询2:其实就是把‘,’换成了 inner join,既可以用where也可以用on

    左连接查询:就是把inner 改成了left,然后把where 改成了on,左连接就是以左边的表为基准,先把左边的数据都查出来,右边有对应的数据就查出来,没有数据就为Null;右连接也是同样的道理;

    右连接查询:

    联合查询:其实就是两个sql语句连在一起,但是两个sql查询的列的个数必须相同;

    子查询:就是有一个查询会依托于 其他的查询,

    分页查询:limit x,y;x表示从哪条数据开始,默认是0,y表示取几条数据,

    相关文章

      网友评论

        本文标题:Mysql之DQL数据查询语言

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