MySQL查询语句有哪些

47次阅读
没有评论

共计 2493 个字符,预计需要花费 7 分钟才能阅读完成。

MySQL 查询语句有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面丸趣 TV 小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

查询

数据如下

or 查询

我们在上学时, 会听到这样的话, 某某某, 你把谁谁谁或者谁谁谁叫过来。

这样子的话, 我们我们要查询的, 就是一个或 (or) 的关系了。

or 查询只有满足一个条件即可

sql

--  语法  SELECT * from student WHERE  条件  or  条件  ...; --  例如, 查询姓名为张三的或者姓名为小刘的数据  SELECT * from student WHERE name= 张三  or name= 小刘

执行结果

不等于 (!=) 查询

上述我们查询的, 都是等于 (=) 操作, 但是我们在上学时, 还会有这种情况。

某个学生学习可好, 背东西背的可快, 放学的时候可能就人家一个人过了, 这时候老师可能就说

除了某某某, 其他学生本篇文章全部抄 3 遍, 淦。。。

所以这时候就是反过来的查询的, 只需要排除某个人即可!

sql

--  语法  SELECT * from student WHERE  条件  --  例如, 查询姓名不是张三的其他人, 排除张三  SELECT * from student WHERE name!= 张三

执行结果

in/not in 查询

学生们还都是年轻人, 年龄大概都在 20 来岁, 这时候老师说, 班长, 把年龄在 19,20,21 的人统计一下!

根据上述我们学过的知识, 可能你是这样婶的。

SELECT * from student WHERE age=19 or age=20 or age=21;

执行结果

通过三个 or 找到, 其实这样也没错, 但是还有一种更简单的。

sql

— 语法 SELECT * from student WHERE 列名 in (值 1, 值 2,…) …;–   例如, 需求同上 SELECT * from student WHERE age in (19,20,21);

执行结果

not in 就是不在这个范围的数据啦!

sql

--  查询年龄不在 19,20,21 范围的数据  SELECT * from student WHERE age not in (19,20,21);

执行结果

between 查询

between 适合进行范围查询!

sql

--  语法  select * from  表  where  列  between  开始范围  and  结束范围  --  例如, 查询年龄时 20-22 岁的学生  SELECT * from student WHERE age BETWEEN 20 and 22;

执行结果

同理,between 还能用在时间上。

select * from  表名  where  时间列  between  开始时间  and  结束时间

模糊查询(like)

假设现在数据如下, 有三个姓张的。

老师可能突然有一天对你说, 班长, 把咱们姓张的列出来, 我找他们谈点事, 咋办???

我们只需要找, 是以张开头的, 后面是啥无所谓。

所以就要用到 like 模糊查询。

sql

--  语法  % 表示匹配一个或多个字符  select * from  表  where  列  like  [%] 字符串 [%]  --  例如, 查询, 以张开头的  SELECT * from student WHERE name like  张 %

执行结果

同理, 这个 % 可以放在任意位置, 他就是充当不确定的字符使用的, 能够自动匹配一个或多个。

例如

... WHERE name like  张 % 丰   匹配: 张三丰  WHERE name like  % 鱼   匹配: 张甲鱼  WHERE name like  李 %   匹配: 李四  ...

限制(limit)

限制这个有点怪异, 还是图片举例比较好。

数据如下

sql

--  前两行  SELECT * from student LIMIT 2;

MySQL 查询语句有哪些

--  从第 2 行开始后, 再取 4 行  SELECT * from student LIMIT 2,4; --  同上, 写法不同  SELECT * from student LIMIT 4 OFFSET 2

MySQL 查询语句有哪些

排序(order by)

不知道你有没有发现, 我们之前查找的顺序都是正向的。

MySQL 查询语句有哪些

但是会有个问题, 我们新增的数据, 其实 id 是最大的, 理论来说, 应该要排在最前面。

所以, 应该是倒序的是最好的。

sql

--  语法  select * from  表名  order by  列  asc --  从小到大排序  select * from  表名  order by  列  desc --  从大到小排序  select * from  表名  order by  列 1  desc, 列 2  asc --  先根据   列 1   排序, 如果数据相同, 按照   列 2   排序

例如

根据 id 正向排序

SELECT * from student ORDER BY id ASC;

执行结果

MySQL 查询语句有哪些

根据 id 反向排序

SELECT * from student ORDER BY id desc;

执行结果

MySQL 查询语句有哪些

hhh, 这样我们就把数据反过来了!!!

分组(groupby)

分组, 这个可能是难为了一批人, 其实分组的核心, 在于理解这个压缩这个概念。

假设数据如下

MySQL 查询语句有哪些

性别有男有女, 如果我想知道, 男的有多少个, 女的有多少个怎么办??? 我总不能数吧。。。

所以这时候, 如果能吧, 男的都拿出来, 女的都拿出来, 就像这样!

MySQL 查询语句有哪些

然后我对拿出来进行压缩成一条。

MySQL 查询语句有哪些

如果这个你懂了, 那分组就懂了。

语法

SELECT  列 ,COUNT(列) from student GROUP BY  列  --  因为分组了某个列, 所以就不能再展示其他列的信息了, 因为压在一块了, 显示不了  --  但是可以通过 count,sum 等函数计算压缩的个数, 或者总值

例如

统计男女各多少人

SELECT gender,COUNT(gender) from student GROUP BY gender;

执行结果

MySQL 查询语句有哪些

统计同一年龄多少人

SELECT age,COUNT(age) as  数量  from student GROUP BY age;

执行结果

MySQL 查询语句有哪些

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注丸趣 TV 行业资讯频道,感谢您对丸趣 TV 的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-01发表,共计2493字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)