首页 > 其他分享 >多表查询,子查询

多表查询,子查询

时间:2022-11-20 01:33:20浏览次数:42  
标签:salary 多表 -- 查询 dept SELECT select

分页查询

按雇员的id号升序取出,每页显示3条记录,请分别显示第一页,第二页,第三页

基本语法:select ....limit start ,rows 表示从start+1开始取,取出rows行,start从0开始计算

公式:select *from 表名 order by 列名 limit 每页显示记录数 *(第几页-1),每页显示记录数

请统计各部门group by 的平均工资AVG,并且是大于1000的having ,并且按照平均工资从高到低排序
-- 取出前两行记录;
 SELECT AVG(salary),dept_number FROM emp
GROUP BY dept_number
HAVING AVG(salary)>1000
ORDER BY AVG(salary) DESC
LIMIT 0,2

mysql 表查询(数据分组总结)

select语句同时查询包含group by ,having,order by,limit 它们的顺序是group by,having,order by,limit

select column1,column2,column3....... from 表名

group by column(分组)

having condition (条件过滤)

order by column(排序)

limit start,rows;(分页显示)

 

多表查询

多表查询的过滤条件不能少于表的个数-1,否则胡出现笛卡尔集

显示各个员工的姓名,工资及其工资的级别
-- select *from emp;
-- select *from sal_grade;

-- 三、 多表查询
SELECT DISTINCT enname,salary ,grade
FROM emp,sal_grade  
WHERE salary BETWEEN lowsal AND heisal;

 

子查询

(一)单行子查询(嵌套查询)

- 如何显示与tom同一部门的所有员工
解析:1.先查询出tom的信息 2.再根据上面查询的结果当做子查询使用
-- 先查询表的结构
SELECT DISTINCT    * FROM emp;
-- 从表中查询Tom的相关信息
SELECT  DISTINCT dept_number  
FROM emp
WHERE enname='tom';

(二)多行子查询(多行子查询指返回多行数据的子查询,使用关键字IN)

查询和部门2的工作相同的雇员的名字、岗位、工资、部门号,但是不含2号部门自己的员工?
/*分析:1.先查询2号部门有哪些工作
2.把上面的查询结果作为子查询使用
*/

SELECT DISTINCT *
FROM emp
WHERE dept_number=2;

SELECT enname,job,salary,dept_number
FROM emp
WHERE job IN(
SELECT DISTINCT job
FROM emp
WHERE dept_number=2
) AND dept_number !=2
 

 

标签:salary,多表,--,查询,dept,SELECT,select
From: https://www.cnblogs.com/nzm-2019/p/16907678.html

相关文章

  • 数据库无法查询中文问题的解决过程
    解决方案:在数据库连接后面指定编码&useUnicode=true&characterEncoding=UTF-8比如url:jdbc:mysql://localhost:3306/store_category?useSSL=false&?useUnicode=true&ch......
  • MacBook苹果笔记本电脑 如何查询CPU GPU 温度?
     苹果笔记本电脑高负荷下发热量巨大,为了散热买了个散热器,于是乎,如何观察散热效果?方法如下:1、打开苹果内置终端,输入命令:sudopowermetrics--samplerssmc|grept......
  • 北京公交卡余额查询
    北京公交卡余额查询输入卡号,立即查询出这个卡最近坐车情况(上车,下车),余额,充值等信息,非常方便的了解这个卡的情况。目前针对android2.1及以上版本......
  • Hive学习笔记:with as子查询
    一、说明与其他SQL语法类似,Hive中也支持withas将一大段SQL语句封装为子查询,方便后续多次调用。MySQL旧版本不支持withas语法,8.0才支持。withttas( selec......
  • java常用查询
     生成文档javadoc-ddoc hello.java                   ......
  • MySQL查询技巧
    查询字符串截取最后一个指定字符前面的字符串用途:可以用于截取最后一个逗号前面的字符串,就是去掉最后一个逗号后面的字符串--查询原字符串,截取原字符串从第1位开始到......
  • laravel 查询构建器
    $query=DB::connection($conn)->table($table)->select('*',DB::raw("CONCAT(date,'',time)ASdttm"))->where('P',$p)->whereIn('status',$status)->whereRa......
  • 使用yum查询系统安装的软件及可以更新的软件并单独指定升级某一个软件
    Linux系统下yum命令查看安装了哪些软件包: $yumlistinstalled//列出所有已安装的软件包 yum针对软件包操作常用命令: 1.使用YUM查找软件包 命令:yumsearchphp......
  • MySQL关联查询
    一、关联查询1、概念在查询数据时,所需要的数据不只在一张表中,可能在两张或多张表中。这个时候,需要同时操作这些表来查询数据,即关联查询。关联查询所涉及到的表与表之间都......
  • 数据查询列表展示与分析图形展示的XML定制实现
    一、实现了基于XML定制的列表查询及图表展现二、实现复杂的合并行列(分组求和的处理)及钻取数据和图表的钻取三、支持单表数据的补录具体举例:l 信息列表:(实现只需要进行相......