怎么查询mysql语句

66次阅读
没有评论

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

自动写代码机器人,免费开通

这篇文章主要介绍怎么查询 mysql 语句,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

查询 mysql 语句的方法:查询一张表中的记录时,代码为【select * from 表名 where name= long and age = 18】,from 后面加表名,where 后面是条件,select 后面是筛选出的字段。

查询 mysql 语句的方法:

在 mysql 中 查询一张表中的记录的时候

书写顺序是: select * from 表名 where name= long and age = 18

但是 mysql 中的执行顺序是

from   后面加表名 确定你是那张表

where 后面是条件 通过条件 来筛选这表的内容

select 后面是 你 where 筛选出的数据中的 某些字段    * 是所有字段

# 查询语句执行的结果也是一张表,可以看成虚拟表

我们创建一张 emp 的员工表

怎么查询 mysql 语句

当我们的字段特别多的时候   结果的排版可能会出现凌乱现象 我们可以在查询语句末尾 加上 \G 来规范查询结果

select * from  表名 \G;

怎么查询 mysql 语句

当我们遇到一个需求时 怎么来分析? 例如

怎么查询 mysql 语句

1. 查询 id 大于等于 3 小于等于 6 的数据

给你展示下实际操作  1. 先确定 来自哪一张表  from emp   2. 筛选条件 where id = 3 and id   3.select  *

 select * from emp where id  = 3 and id  = 6;
 select * from emp where id between 3 and 6; between  等价于 id  = 3 and id  = 6

2. 查询薪资是 20000 或者 18000 或者 17000 的数据

 select id,name from emp where salary = 20000 or salary = 18000 or salary = 17000;
 select id,name from emp where salary in (20000,18000,17000);

3. 查询员工姓名中包含 o 字母的员工姓名和薪资

模糊匹配  % 匹配多个任意字符  _ 匹配 一个任意字符

select name,salary from emp where name like  %o%

4. 查询员工姓名是由四个字符组成的员工姓名与其薪资

select name, salary from emp where length(name) =4;
select name ,salary from emp where name like  ____

5. 查询 id 小于 3 或者大于 6 的数据

select * from emp where id 3 or id  
select * from emp where id not between 3 and 6;

6. 查询薪资不在 20000,18000,17000 范围的数据

select * from emp where salary not in (20000,17000,18000);

7. 查询岗位描述为空的员工名与岗位名   针对 null 判断的时候只能用 is 不能用 =

select name ,post from emp where post_comment is null;

MySQL 对大小写不敏感   平时写的时候大小写都可以

1、group by 分组

select * from emp group by post; #  按照部门分组

怎么查询 mysql 语句

分组后 应该做到 最小单位是 组 , 而不应该是 展示 组内的单个数据信息

向上面那样 他会直接给你 打印出来而没有给你报错 说明你的严格模没有设置

show variables  %mode%  #  找到严格模式所在的地方 set session #  临时有效  set global #  永久有效 set global sql_mode=  strict_trans_tables  #  设置字符类型的自动截取 set global sql_mode= strict_trans_tables,pad_char_to_full_length  #char  取出时   取消自动去空格 set global sql_mode= strict_trans_tables,only_full_group_by  #  设置分组后   最小单位是组

怎么查询 mysql 语句

怎么查询 mysql 语句

此时你如果还使用  select name from emp group by post;  就会报错  #ERROR 1055 (42000):  day37.emp.name  isn t in GROUP BYselest  后应该接的是   你分组的字段名

2、聚合函数(max, min ,sum,count, avg)   聚集到一起合成为一个结果

mysql 中 分组之后 只能拿到分组的字段信息 无法直接 获取其他字段的信息 但是 你可以通过其他方法来间接的获取(聚合函数)

获取每个部门的最高工资

需求是 每一个部门 说明有分组 所以 先分组 在使用聚合函数来取值

select post ,max(salary) from emp group by post;

每个部门的最低工资

select post,min(salary) emp group by post;
 
select post,min(salary) as  最小  from emp group by post;

怎么查询 mysql 语句

每个部门的平均工资

select post,avg(salary) from emp group by post;

每个部门的工资总和

select post,sum(salary) from emp group by post;

每个部门的人数

 select post,count(age) from emp group by post;
 select post,count(salary) from emp group by post;
 select post,count(id) from emp group by post;
 select post,count(post_comment) from emp group by post;

在统计分组内个数的时候 填写任意非空字段都可以完成计数, 推荐使用能够唯一标识数据的字段   比如 id 字段

聚合函数会自动将每一个分组内的单个数据做想要的计算, 无需你考虑

3、group_concat

查询分组之后的部门名称和每个部门下所有的学生姓

select post, group_concat(name) from emp group by post;

怎么查询 mysql 语句

select post,group_concat(hahha ,name) from emp group by post;

还可以拼接

怎么查询 mysql 语句

group_concat()能够拿到分组后每一个数据指定字段 (可以是多个) 对应的值

concat 就是用来帮你拼接数据

怎么查询 mysql 语句

group_concat(分组之后用)

concat(不分组时用)

查询每个员工的年薪

select name,salary*12 from emp;

以上是“怎么查询 mysql 语句”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

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