Mysql之DQL数据查询语言

语法: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表示取几条数据,

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕品㗊阅读 9,778评论 0 44
  • SQL语言基础 本章,我们将会重点探讨SQL语言基础,学习用SQL进行数据库的基本数据查询操作。另外请注意本章的S...
    厲铆兄阅读 5,346评论 2 46
  • 生活不如意,却依然要过下去。 生活带给我们的磨难会磨平我们棱角。好的家世真的可以在你的生活中高出别人许多。可是啊,...
    阿笑_xiao阅读 344评论 0 2
  • 自从做了母亲,最看不得的就是关于孩子的一些负面的新闻。 哪个孩子被遗弃,哪个校车又出事,哪个孩子被养母虐待,哪个幼...
    三分菜园阅读 356评论 0 1
  • 基础知识 要使用Flatpages,需要至少读完Django官方文档Tutorial 1-4,安装Django环境...
    七哥阅读 1,011评论 1 1