千家信息网

怎么查询mysql语句

发表于:2024-12-01 作者:千家信息网编辑
千家信息网最后更新 2024年12月01日,这篇文章主要介绍怎么查询mysql语句,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!查询mysql语句的方法:查询一张表中的记录时,代码为【select * from 表名 w
千家信息网最后更新 2024年12月01日怎么查询mysql语句

这篇文章主要介绍怎么查询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的员工表

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

select * from 表名\G;

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

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

   给你展示下实际操作 1.先确定 来自哪一张表 from emp 2. 筛选条件 where id >= 3 and id <=6; 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 >6;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;  # 按照部门分组

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

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

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' # 设置分组后   最小单位是组

此时你如果还使用 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;

每个部门的平均工资

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;

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

还可以拼接

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

concat就是用来帮你拼接数据

group_concat(分组之后用)

concat(不分组时用)

查询每个员工的年薪

select name,salary*12 from emp;

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

查询 分组 字段 数据 部门 员工 语句 时候 函数 姓名 字符 工资 条件 结果 薪资 最小 信息 内容 方法 有效 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 汉阳区海航网络安全维护要多少钱 营口车路协同服务器 计算机网络技术背景和意义 医学影像处理服务器图片 河北什么是网络技术咨询 网络安全主题班会起名 上海创艺网络技术有限公司 园区互联网科技项目 家用电脑做电影服务器软件 未开展网络安全等级保护测评 服务器安装内存卡需要关机吗 联想ts250塔式服务器 我们常用软件开发过程 顺网服务器硬件推荐 沭阳多功能网络技术大概费用 360的网络安全技术如何 重大网络安全责任人的处分 cf四大战区服务器在哪个城市 软件开发及硬件采购公告 慈溪应用软件开发外包 网络安全厉行节约杜绝浪费 青浦区网络软件开发创新服务 计算机编程与软件开发专业 服务器管理器不能用 网络安全危机 初中毕业计算机网络技术学校 数据库开发岗位 网络安全周服务合同 楷书网络安全手抄报 装了安全狗服务器很卡
0