`

表联接

 
阅读更多

1.多表联接

CREATE TABLE sal(
empno NUMBER(5),
sal NUMBER,
sal_date DATE
);

INSERT INTO sal(empno,sal,sal_date)
SELECT empno,1000,to_date('2010-1-1','yyyy-mm-dd')
FROM emp;
--所有10部门的另外拿500块
INSERT INTO sal(empno,sal,sal_date)
SELECT empno,500,to_date('2010-1-1','yyyy-mm-dd')
FROM emp WHERE deptno=10;
INSERT INTO sal(empno,sal,sal_date)
SELECT empno,2000,to_date('2010-2-1','yyyy-mm-dd')
FROM emp;
COMMIT;
SELECT * FROM sal;

   1.1:select dept.deptno,dept.dname,emp.ename,sal.sal,sal.sal_date
from dept,emp,sal
where dept.deptno=emp.deptno and emp.empno=sal.empno
order by dept.deptno;

   1.2:select dept.deptno,dept.dname,ename,sal.sal,sal.sal_date
from emp join dept on dept.deptno=emp.deptno
         join sal on emp.empno=sal.empno;

--2、显示 某个月 拿过2笔工资以上的人

SELECT to_char(sal_date,'yyyy.mm') yf,empno,COUNT(*) cs
FROM sal
GROUP BY to_char(sal_date,'yyyy.mm'),empno
HAVING COUNT(*)>1

 

SELECT empno,ename FROM emp
WHERE empno IN (
  SELECT empno
  FROM sal
  GROUP BY to_char(sal_date,'yyyy.mm'),empno
  HAVING COUNT(*)>1
)

--如果还要知道是哪个月,领取了几笔
SELECT emp.empno,emp.ename,t.yf,t.cs FROM emp,
(
  SELECT to_char(sal_date,'yyyy.mm') yf,empno,COUNT(*) cs
  FROM sal
  GROUP BY to_char(sal_date,'yyyy.mm'),empno
  HAVING COUNT(*)>1
) t
WHERE emp.empno=t.empno

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    在SAP前台用TCODE:SE16H实现表连接查询

    "SAP SE16H 表连接查询详解" 在 SAP 系统中,SE16H 是一个功能强大的工具,能够实现复杂的表连接查询。今天,我们将详细介绍如何使用 SE16H 实现表连接查询,并提供一个实际的示例。 SE16H 介绍 SE16H 是 SAP ...

    数据库多表连接

    数据库多表连接是数据库操作中的核心技能之一,它允许我们从多个相关联的表中获取数据,以便进行更复杂的查询和分析。在SQL语言中,多表连接主要用于合并多个表中的记录,根据它们之间的关系来获取所需信息。下面将...

    面向Flink的多表连接计算性能优化算法

    面向Flink的多表连接计算性能优化算法 面向Flink的多表连接计算性能优化算法是基于分布式计算引擎Flink的研究方向,旨在提高Flink多表连接的性能,以加速大规模数据分析处理的速度。该算法的提出是为了解决直接将...

    关于Oracle多表连接,提高效率,性能优化操作

    这是因为ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询..数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性...

    oracle多表连接技巧

    ### Oracle多表连接技巧详解 #### 一、引言 在Oracle数据库中,多表连接是一种非常实用且常用的技术,它允许用户从多个表中获取数据,并基于特定条件进行匹配和整合。本文将详细介绍Oracle中多表连接的各种类型及其...

    几种常用的表连接方式

    ### 几种常用的表连接方式详解 在数据库领域,表连接是数据检索和管理的核心技术之一,用于将多个数据表中的信息结合在一起,形成更完整、更有意义的数据集。本文将深入探讨四种常用的表连接方式:嵌套循环连接、...

    数据库系统及原理及MYSQL应用教程多表连接和子查询实验报告

    实验报告主要涵盖了数据库系统的基本操作,特别是MySQL中的分组查询、多表连接和子查询的运用。以下是对这些知识点的详细解释: 1. **GROUP BY 语句与聚合函数**: GROUP BY 语句用于将数据分组,通常与聚合函数如...

    Oracle表连接的具体讲解

    "Oracle表连接详解" 在 Oracle 中,表连接是指将两个或多个表中的数据结合起来,以满足查询的需求。表连接可以分为三种:内连接、外连接和自连接。 一、 内连接(Inner Join) 内连接是一种最基本的表连接方式,...

    Oracle多表连接练习

    Oracle数据库中的多表连接是数据库查询中的核心技巧,它允许我们从多个相关的表中获取信息。在本实验中,我们将通过一系列练习题来深入理解Oracle的多表连接操作。 1. 第一个练习展示了如何通过内连接(INNER JOIN...

    Oracle的三种表连接方式

    "Oracle 的三种表连接方式详解" Oracle 的三种表连接方式是指在做表 join 的时候, Oracle 有三种方式,分别是:sort merge join(SMJ) ·nest loop(NL) ·hash join(HJ)。下面是对这三种策略的详细讲解: sort ...

    Spark实现用户订单数据表连接

    首先,我们需要理解数据表连接的基本概念。在数据库中,连接(JOIN)是将两个或更多表的数据合并到一起的关键操作,基于这些表之间的共同列(键)。在我们的场景中,"用户信息表"和"订单信息表"可能有共同的列,如...

    SQL多表连接

    本文档为通用SQL数据库查询时所用,讲述的是多表连接!~

    Oreacle数据库多表连接练习题(包答案)

    根据题目要求,我们将深入解析与Oracle数据库中的多表连接相关的知识点。这不仅涵盖了基础的等值连接、非等值连接,还包括了SQL-99标准下的连接方式,如自然连接、使用ON子句的连接、使用USING子句的连接以及左连接...

    sql server 举例 以图文形式说明表连接区别

    ### SQL Server 表连接知识点详解 #### 一、引言 在SQL Server中,表连接是一种非常重要的查询技术,它允许我们从两个或多个表中提取数据并进行整合。通过不同的连接类型,我们可以灵活地控制如何结合这些表中的...

    Oracle 多表连接

    介绍SQL语句中的多表连接查询。主要讲解了表连接的形式和笛卡尔积,程序也重点讲解了表的左连接、右连接、自然连接等基本概念。

    SQL多表连接查询优化的相关研究

    标题中的“SQL多表连接查询优化的相关研究”指的是在数据库管理中,如何高效地执行涉及多个数据表的SQL查询操作。在SQL(Structured Query Language)中,连接查询(JOIN)是用于合并两个或更多表中的数据的关键技术...

    水晶易表连接数据的实际例子

    水晶易表连接数据的实际例子,主要是以XML格式连接网站的

    多表连接的多种方式.sql

    多表连接的多种方式.sql

Global site tag (gtag.js) - Google Analytics