oracle 两表关联查询

CreationTime--2018年7月4日17点27分

Author:Marydon

情景描述

  查询学生表student,sname,sex,age信息及所在班级clazz表

1.使用左连接

select sname, sex, age, cname
from student t1
left join clazz t2
on t1.cid = t2.cid;

2.使用(+),oracle独有

select sname, sex, age, cname
from student t1, clazz t2
where t1.cid = t2.cid(+);

3.from后面跟两张表

select sname, sex, age, cname
from student t1, clazz t2
where t1.cid = t2.cid;

4.作为主表的查询字段

select sname,
sex,
age,
(select cname from clazz t2 where t1.cid = t2.cid) cname
from student t1;

小结

  前2种方式,是左连接的方式实现,学生表作为主表,当学生表中的班级cid在班级表中找不到时,班级名称cname填充内容为空;

  后2种方式,只查询出2表均能够匹配到的数据,学生表的数据不一定能查出所有记录。

拓展

  只有Oracle数据库可以使用(+)来代替左连接和右连接;

  "(+)"在"="右侧,表示的是:左连接,如:t1.cid = t2.cid(+);左表(学生表)为主表;

  "(+)"在"="左侧,表示的是:右连接,如:t1.cid(+) = t2.cid;右表(班级表)为主表。

相关推荐:

 

oracle 两表关联查询的更多相关文章

  1. oracle多表关联查询和子查询

    oracle多表关联查询和子查询 一.多表关联查询 例子: SQL> create table student1 ( sid ), sname ), sage )); Table created ...

  2. MyBatis 中两表关联查询MYSQL (14)

    MyBatis 中两表关联查询MYSQL 1.创建数据库表语句 2.插入测试数据 3.pom文件内容 <?xml version="1.0" encoding="U ...

  3. Oracle两表关联,只取B表的第一条记录

    背景:  A表.B表两表关联,关联出来的结果里B表有不止一条,需求是只要B表结果中的某一条(按某字段排序) 首先想到了直接写个带排序的子查询去匹配外围的值,从这个结果集中只要第一条,但是经过验证发现, ...

  4. SQL 两表关联查询 where 条件中等号两端字段顺序对效率的影响

    现有两表A(大).B(小)作关联查询,SQL语句如下: SQL1:select * from A,B where A.id = B.id SQL2:select * from A,B where B. ...

  5. ORACLE 两表关联更新三种方式

    不多说了,我们来做实验吧. 创建如下表数据 select * from t1 ; select * from t2; 现需求:参照T2表,修改T1表,修改条件为两表的fname列内容一致. 方式1,u ...

  6. sql语句 两表关联查询计算数量

    select sum(a1.`num`)   from `order_orderlistrow` as a1 INNER JOIN `order_orderlist` as a2 on a1.`ord ...

  7. Oracle 数据库(oracle Database)Select 多表关联查询方式

    Oracle数据库中Select语句语法及介绍 SELECT [ ALL | DISTINCT ] <字段表达式1[,<字段表达式2[,…] FROM <表名1>,<表名 ...

  8. Oracle中如何实现Mysql的两表关联update操作

    在看<MySQL 5.1参考手册>的时候,发现MySQL提供了一种两表关联update操作.原文如下: UPDATE items,month SET items.price=month.p ...

  9. ORACLE数据库多表关联查询效率问题解决方案

    最近在做项目中遇到多表关联查询排序的效率问题(5张以上40W+数据的表),查询一次大概要20多秒,经过一番苦思冥想,处理方案如下: 1.软件设计初期,需要一对一关联的表应该设计在一张大表里,这样虽然字 ...

随机推荐

  1. 《深入理解Spark-核心思想与源码分析》(六)第六章计算引擎

    RDD是Spark对各类数据计算模型的统一抽象,被用于迭代计算过程以及任务输出结果的缓存读写. 在所有MapReduce框架中,shuffle是连接map任务和reduce任务的桥梁.shuffle性 ...

  2. VK Cup 2016 - Round 1 (Div. 2 Edition) B. Bear and Displayed Friends 树状数组

    B. Bear and Displayed Friends 题目连接: http://www.codeforces.com/contest/658/problem/B Description Lima ...

  3. Android ButterKnife注解框架使用

    这段时间学习了下ButterKnife注解框架,学习的不是特别深入,但是基础也差不多了,在此记录总结一下. ButterKnife是一个Android View注入的库,主要是注解的使用,可以减少很多 ...

  4. Simple microcontroller-temperature measurement uses only a diode and a capacitor

    Using a PN-junction diode for temperature measurement usually depends on its 2‑mV/K temperature  coe ...

  5. LeetCode89:Gray Code

    The gray code is a binary numeral system where two successive values differ in only one bit. Given a ...

  6. EventBus (一) 使用详解——初步使用EventBus

    版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 前言:EventBus是上周项目中用到的,网上的文章大都一样,或者过时,有用的没几篇,经过琢磨,请教他人,也终于弄清楚点眉目,记 ...

  7. 突破技术管理,IT人中年危机变契机

    突破技术管理,IT人中年危机变契机 中生代技术 Yesterday 作为一个老技术人,今天不聊技术,就聊点技术人员职业发展的事情:对技术管理岗位的认知,比如技术总监. 先贴一张技术人员职业发展路线图, ...

  8. sed替换换行符“\n”

    linux sed命令,如何替换换行符“\n” 在一次sed使用中,执行命令: sed "s/\n//g" file 1 发现,没起到任何效果. 后来,经查sed官方用户手册,才得 ...

  9. LaTeX排版设置图表的位置 Positioning images and tables

    Positioning images and tables LATEX is an editing tool that takes care of the format so you only hav ...

  10. 从头開始写项目Makefile(十):make内嵌函数及make命令显示

    [版权声明:转载请保留出处:blog.csdn.net/gentleliu.Mail:shallnew at 163 dot com]     这一节我们讲一下make的函数,在之前的章节已经讲到了几 ...