sql逗号隔开的字段怎样查询_MySQL系列之基础查询

9222de96b465a8da8afdccee288585af.gif点击关注 不迷路ef9eb6360c89201e32ac383ebda7f2bf.gif

前言

前面几篇分别介绍了安装,可视化软件,数据库简介以及字段类型和约束,本篇文章开始正式开始查询语句的讲解。

03f17b5388a2cca021536fc49024febd.gif

ef9eb6360c89201e32ac383ebda7f2bf.gif

内容介绍

本篇文章主要讲解SQL查询基础语法以及其中的一些关键字的用法,其中包括:select,from,where,group by,order by,limit等。

此处强调一句:每句SQL语句的结尾必须以英文分号;或者\g结尾。

ef9eb6360c89201e32ac383ebda7f2bf.gifef9eb6360c89201e32ac383ebda7f2bf.gif

select A from B where C;

select A from B where C;

此语法是遵循SQL标准的数据库中都会使用的,这个SQL语句实现了从哪个表查询出满足什么条件的数据,最终展示出来的是这些数据中的哪些字段。

其中from B表示从表名为B的数据表中取数据, 

where C表示取出的数据需需要满足C这个条件, 

select A表示最终展示的字段是A。

ef9eb6360c89201e32ac383ebda7f2bf.gifef9eb6360c89201e32ac383ebda7f2bf.gif

select取出不同的字段数据

select * from info;

这个语句是最最简单的一个查询语句,上面已经说过了from info表示的是从info这个个数据表中获取数据,而 在SQL语句中表示获取全部的字段,所以我们在需要一个表中的全部信息的时候就可以使用该语句。

select name from info;select name, age from info;

这两个SQL语句都是从数据表info中获取单个或多个字段,此处需要注意的是select后面写的是需要获取的字段名,如果是多个字段,字段名和字段名之间需要以英文逗号隔开。

此种没有任何限制的SQL语句会把info表中所有的数据展示出来,但是如果指向展示前多少行就需要用到下面的limit。

ef9eb6360c89201e32ac383ebda7f2bf.gifef9eb6360c89201e32ac383ebda7f2bf.gif

limit

limit的作用是限制查询结果返回的数量,常用于分页查询,比如说现在info表中一共有1000行数据,但是我仅仅想查询显示出10行,这个时候我们就可以使用limit,语法如下:

-- limit语法select * from table_name limit i,n;-- 例子select name from info limit 10;

limit后面的参数有两个,第一个参数可以省略不写,如果不写就是默认从第一行开始取出10行。如果limit后面两个参数都写的话,如下行代码:

select name from info limit 2,5;

这个SQL语句表示的是查询5条数据,从下标为2的这一条数据开始,也就是第三条数据开始的5条数据。

limit是针对查询结果进行限制,但是如果想筛选出来符合条件的数据就需要使用where

ef9eb6360c89201e32ac383ebda7f2bf.gifef9eb6360c89201e32ac383ebda7f2bf.gif

where

如果需要有条件的从数据表中选取数据,就可以使用where。语法如下:

select * from table_name where 条件;

where后面的条件中可以使用下面的操作符:

操作符描述
=等于
!=不等于
>大于
<小于
>=大于等于
<=小于等于
between and在某个范围内
like模糊查询

例子:查询姓名为张三的所有信息

select * from info where name='张三';
ef9eb6360c89201e32ac383ebda7f2bf.gifef9eb6360c89201e32ac383ebda7f2bf.gif

group by A having B

group by的作用是根据一个或者多个列进行分组,为了大家更好的理解,我们直接上图:现有以下数据

7226302864b94edc0571539f1ff2c68a.png

现在想得出每个人对应的总金额,我们就可以使用group by来对客户进行分组,然后对金额进行求和。group by的作用类似于下图

d36228c65fbf7494611682c8797b298e.png

但是MySQL中没有办法输出这样的结果,所以如果想输出,我们需要把后面的price进行求和。

在MySQL中,如果需要求和我们可以使用函数sum(),函数的具体用法会单独写成一篇文章来讲解,咱们来看下SQL语句的写法

select name, sum(price) from info group by name;

having语句通常是和group by语句联合使用,用来过滤group by语句返回的结果集。此处需注意,where不可以筛选分组后的内容。

例子:用户购买总金额超过130的用户

select name, sum(price) from info group by name having sum(price) > 130;
ef9eb6360c89201e32ac383ebda7f2bf.gifef9eb6360c89201e32ac383ebda7f2bf.gif

order by

order by语句用于根据指定的列对select输出的结果进行排序,

order by语句有两个参数 asc和desc,默认排序规则是从小到大,也就是asc,如果需要从小到大可以省略,从大到小则是desc,如果需要一定要指定。

-- 例子:以info表中的id字段进行从大到小排序。

select * from info order by id desc;
ef9eb6360c89201e32ac383ebda7f2bf.gifef9eb6360c89201e32ac383ebda7f2bf.gif

总结

本篇介绍了SQL查询语句中最基础的几个语句的用法,语句的用法一定要多练,孰能生巧,另外再次强调:每句SQL语句的结尾必须以英文分号;或者\g结尾。

ef9eb6360c89201e32ac383ebda7f2bf.gif

792471f7780d6028c702947414f13a26.gif

点它,分享点赞在看都在这里

密封线

fba0de7770612e2048a0e9ff001cd866.png

66777804e9c6666d45c0b0736eea897d.gif

 长按扫码交卷


版权声明:本文为weixin_36296983原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。