In,内链接和空值
来源:互联网 发布:浙江省网络监管服务网 编辑:程序博客网 时间:2024/06/13 05:21
SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO---------- ---------- ---------- ---------- -------------- ---------- ---------- ---------- 7369 SMITH CLERK 7902 17-12月-80 800 20 7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7788 SCOTT ANALYST 7566 09-12月-82 3000 20 7839 KING PRESIDENT 17-11月-81 5000 10 7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 7876 ADAMS CLERK 7788 12-1月 -83 1100 20 7900 JAMES CLERK 7698 03-12月-81 950 30 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10已选择14行。SQL> select * from emp2 order by 1;ENAME JOB SAL---------- ---------- ----------ADAMS CLERK 1100ADAMS CLERK 1100JAMES CLERK 950JAMES CLERK 950MILLER CLERK 1300MILLER CLERK 1300SMITH CLERK 800SMITH CLERK 800已选择8行。SQL> SELECT empno, ename, job, sal, deptno 2 FROM emp 3 WHERE (ename, job, sal) IN (SELECT ename, job, sal FROM emp2); EMPNO ENAME JOB SAL DEPTNO---------- ---------- ---------- ---------- ---------- 7369 SMITH CLERK 800 20 7876 ADAMS CLERK 1100 20 7900 JAMES CLERK 950 30 7934 MILLER CLERK 1300 10SQL> SELECT a.empno, a.ename, a.job, a.sal, a.deptno 2 FROM emp a 3 INNER JOIN emp2 b ON (b.ename = a.ename AND b.job = a.job AND 4 b.sal = a.sal); EMPNO ENAME JOB SAL DEPTNO---------- ---------- ---------- ---------- ---------- 7369 SMITH CLERK 800 20 7369 SMITH CLERK 800 20 7876 ADAMS CLERK 1100 20 7876 ADAMS CLERK 1100 20 7900 JAMES CLERK 950 30 7900 JAMES CLERK 950 30 7934 MILLER CLERK 1300 10 7934 MILLER CLERK 1300 10已选择8行。由于EMP2表有重复数据,导致半连接的写法数据翻倍,得去除重复数据SQL> SELECT distinct a.empno, a.ename, a.job, a.sal, a.deptno 2 FROM emp a 3 INNER JOIN emp2 b ON (b.ename = a.ename AND b.job = a.job AND 4 b.sal = a.sal); EMPNO ENAME JOB SAL DEPTNO---------- ---------- ---------- ---------- ---------- 7900 JAMES CLERK 950 30 7876 ADAMS CLERK 1100 20 7369 SMITH CLERK 800 20 7934 MILLER CLERK 1300 10IN 有空值的情况呢?SQL> select * from emp2 order by 6 nulls last; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO---------- ---------- ---------- ---------- -------------- ---------- ---------- ---------- 7876 ADAMS CLERK 7788 12-1月 -83 1100 20 7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 7934 MILLER CLERK 7782 23-1月 -82 1300 10 7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7788 SCOTT ANALYST 7566 09-12月-82 3000 20 7902 FORD ANALYST 7566 03-12月-81 3000 20 7839 KING PRESIDENT 17-11月-81 5000 10 7369 SMITH CLERK 7902 17-12月-80 20 7900 JAMES CLERK 7698 03-12月-81 30已选择14行。SQL> select * from emp3 order by 3 nulls last;ENAME JOB SAL---------- ---------- ----------ADAMS CLERK 1100MILLER CLERK 1300JAMES CLERKSMITH CLERK此时SQL> SELECT empno, ename, job, sal, deptno 2 FROM emp2 3 WHERE (ename, job, sal) IN (SELECT ename, job, sal FROM emp3); EMPNO ENAME JOB SAL DEPTNO---------- ---------- ---------- ---------- ---------- 7876 ADAMS CLERK 1100 20 7934 MILLER CLERK 1300 10会丢失 SMITH和JAMES 2条记录,改写为:SQL> SELECT empno, ename, job, sal, deptno 2 FROM emp2 3 WHERE (ename || job || sal) IN (SELECT ename || job || sal FROM emp3); EMPNO ENAME JOB SAL DEPTNO---------- ---------- ---------- ---------- ---------- 7369 SMITH CLERK 20 7876 ADAMS CLERK 1100 20 7900 JAMES CLERK 30 7934 MILLER CLERK 1300 10
0 0
- In,内链接和空值
- 锚点和空链接
- 数据库:内联接,外联接,空值和联接
- 内链接和外链接的区别
- Dreamweaver 8 锚点链接 下载链接和空链接
- 内链接和外连接
- 内连接和外链接
- 内核链接和内核实模式
- 链接内网 步骤 和 工具
- sql 内连接和外链接
- oracle 左右内和完全链接
- select查询返回值类型和返回空类型是not in和exists的区别
- 行内元素,块级元素和空元素
- Linux中的In命令-软链接和硬链接
- NULL和空值
- SQL语句中的内连接,左链接,右链接和全链接
- SQL语句中的内连接,左链接,右链接和全链接
- 空链接的技巧
- UVaOJ 10878 - Decode the tape
- C# 基于密码的身份验证报错问题System.Net.NetworkCredential
- 指针知识梳理7- 函数指针
- Django自定义过滤器filter
- Leetcode: Scramble String
- In,内链接和空值
- OpenOffice 编译日志
- c 语言编译器 (32bit测试)对整数类型long long截断
- C语言结构体定义
- 【学习笔记】自定义广播
- 图书馆理系统数据设计范列
- Windows下openssl的编译安装 (可以实现)
- What is a Good Library!
- HDU3308 LCIS