当前位置: 首页 > news >正文

Mysql的查询指令

整理了一些Mysql的查询语句,希望对大家有帮助,祝大家心想事成万事如意!

基本查询 

select 字段 from 表名 where 条件;

排序查询  select 字段 from 表名 order by 排序字段 [asc升序|desc降序] limit 前几行/中间几行;

去重 select distinct 字段 from 表名;

组合查询(结果合并返回单个结果集) select 字段 from 表  union select  字段  from  表;

注意:必须查相同数量的列,列的数据类型要相似,union自动去重,union all不去重

 

分组查询(可用于统计数量)  select  字段,count(*) from 表 group by 字段 order by count(*);

过滤分组 select 字段,count(*) from 表 group by 字段 having count(*)>10 order by count(*) limit 3,5;

注意:having必须和group by联用;where是分组前过滤,having是分组后过滤

连接查询:

内连接:
  (1)等值连接(两个表select * from 表1 join 表2 on 表1.字段=表2.字段;

  (2)非等值连接(一般用于判断等级,范围,区间)select  e.ename , e.sal , s.grade  from  emp e   join  salgrade s   on  e.sal  between  s.losal  and s.hisal;查询员工薪水等级

  (3)自连接(一个表自己连自己)select  e1.ename , e2.ename mgr_name  from  emp e1  join  emp e2   on   e1.mgr=e2.mgr;

外连接

左连接:查表1的全部信息与表1和表2的交集;

右连接:查表2的全部和表1与表2的交集

Select e1.ename , e2.ename mgr_name  from  emp e1  left/right  outer  join  emp e2  on  e1.mgr=e2.empno


子查询/嵌套查询(在括号内的select)

(1)子查询用于过滤

Select 字段1 from 表1 where 字段1 [not] in (select 字段1 from 表2 where ….)   子查询一般与not in/in连用

Select * from emp where sal > all/any/some(select infull(comm,0) from emp);   与all联用一般用于比较,代表需要满足条件的所有值;     而some和any含义相同,代表满足其一就可以

(2)子查询用于计算

Select dname,(select count(*) from emp where dept.deptno=emp.deptno) as emps from dept; 查询部门名和部门人数


http://www.mrgr.cn/news/12473.html

相关文章:

  • WiFi标签注册(电脑版)
  • 【人工智能】Transformers之Pipeline(十三):填充蒙版(fill-mask)
  • mac在终端中使用vscode打开文件或者文件夹
  • AI 大模型时代,对前端工程师有哪些机遇和挑战?
  • C++系列-const所有用法总结
  • 如何汽车保养?
  • 短视频SDK解决方案,原开发团队,一对一技术支持
  • 【案例63】SSL RC4 加密套件支持检测 (Bar Mitzvah)修复方案
  • 支持IPD的项目管理软件都有哪些?奥博思 PowerProject 项目管理系统助力正浩创新 IPD 变革高效落地
  • 快速幂算法【算法 08】
  • redis作为缓存,mysql的数据如何与redis同步
  • 编程学习之路上的挫折:如何在Bug迷宫中找到出口
  • Oracle发邮件时SMTP服务器配置方法与步骤?
  • Java 4.3 - Redis
  • 嵌入式学习——ARM学习(1)
  • Android点击和触摸音量小的问题(问题追踪)
  • 调试JS代码
  • 工厂模式和策略模式的区别
  • [Algorithm][综合训练][kotori和气球][体操队形][二叉树中的最大路径和]详细讲解
  • 本专业不好找工作,也许可以试试嵌入式 嵌入式学习路线 从C语言到MCU开发