多表查询需要用到表的连接

连接可以分为:(自行百度)

  交叉连接(数字逻辑的笛卡尔积,不做解释)

    等值连接

      例如:select * from t_a, t_b where t_a.xx = t_b.xx

    不等值连接

      例如:select * from t_a, t_b where t_a.sal >= t_b.sal

  内连接

    例如:select * from t_a inner join t_b on t_a.xx = t_b.xx

    内连接写法和等值连接不同,但是效果是一样的,所以随意使用一种即可。

  左外连接(左连接)

    内连接是把非空的行给连接在一起,形成一个新表。而左连接是以第一张表为基础,把符合条件的字段补充到第一张表上。

    语句:

      标准写法:select * from t_a inner left join t_b on t_a.xx = t_b.xx;

      Oracle自创:select * from t_a, t_b where t_a.xx = t_b.xx(+);

  右外连接(右连接)

    与右连接一样,方向反过来。

      select * from t_a, t_b where t_a.xx(+) = t_b.xx;

  自连接

    自身与自身相连接

    例如:select * from t_a, t_a t_a2 where t_a.xx = t_a2.yy;

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

子查询(当查询条件为不确定值时必须使用子查询)

可以分为:

  常规子查询:

    先执行子查询,然后执行主查询,子查询参数与主查询无关。

    例如:select * from users where salary > (select avg(salary) from users)

  相关子查询:

    主查询的某些条件当作参数传入子查询,然后执行查询。

    例如:select * from users u where salary > (select avg(salary) from users where u.部门 = users.部门 order by 部门)

Oracle子查询和多表查询的更多相关文章

  1. mysql表查询、多表查询(增强查询的使用)子查询、合并查询,外连接,mysql5种约束,自增长

    一.查询加强 1.在mysql中,日期类型可以直接比较,需要注意格式 2.%:表示0到多个字符, _:表示单个字符 exp:显示第二个字符为大写O的所有员工的姓名和工资 select  name fr ...

  2. Oracle中把一张表查询结果插入到另一张表中

      1. 新增一个表,通过另一个表的结构和数据 create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION 2. 如果表存在: inse ...

  3. mysql查询操作之单表查询、多表查询、子查询

    一.单表查询 单表查询的完整语法: .完整语法(语法级别关键字的排列顺序如下) select distinct 字段1,字段2,字段3,... from 库名.表名 where 约束条件 group ...

  4. Django框架表关系外键-多对多外键(增删改查)-正反向的概率-多表查询(子查询与联表查询)

    目录 一:表关系外键 1.提前创建表关系 2.目前只剩 书籍表和 书籍作者表没创建信息. 3.增 4.删 5.修改 二:多对多外键增删改查 1.给书籍绑定作者 2.删 3.修改 4.清空 三:正反向的 ...

  5. 【MySQL】02_子查询与多表查询

    子查询 指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入. SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据,或者 ...

  6. ORM单表查询,跨表查询,分组查询

    ORM单表查询,跨表查询,分组查询   单表查询之下划线 models.Tb1.objects.filter(id__lt=10, id__gt=1) # 获取id大于1 且 小于10的值models ...

  7. [MySQL数据库之记录的详细操作:增、改、删、单表查询、多表查询]

    [MySQL数据库之记录的详细操作:增.改.删.单表查询.多表查询] 记录详细操作 增.删.改 增: insert t1(字段1,字段2,字段3) values (值1,值2,值3), (值1,值2, ...

  8. SQL基本查询_单表查询(实验二)

    SQL基本查询_单表查询(实验二) 查询目标表结构及数据 emp empno ename job hiedate sal comn deptno 1007 马明 内勤 1992-6-12 4000 2 ...

  9. SQL基本查询_多表查询(实验三)

    SQL基本查询_多表查询(实验三) 题目要求(一) 针对emp.dept两表完成如下查询,并验证查询结果的正确性 使用显式内连接查询所有员工的信息,显示其编号.姓名.薪水.入职日期及部门名称: 使用隐 ...

  10. MySQL之单表查询 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询

    MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ...

随机推荐

  1. canvas变换(移动,缩放等)

    代码: 1 /** 2 * Created by Administrator on 2016/1/30. 3 */ 4 function draw (id){ 5 var canvas = docum ...

  2. 使用 EntityFramework后把一个对象序列化成json字符串引起循环引用的问题

    先看一个T4模板生成的model实体类 著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:卷猫 链接:http://anneke.cn/ArticleInfo/Detial ...

  3. maven仓库的管理_Nexus

    maven仓库管理的软件有很多,这里介绍的是Sonatype的nexus 一.下载 下载地址:https://yunpan.cn/cv2JhzwQuvb7B  访问密码 932d 二.安装 2.1.将 ...

  4. ARC097E Sorted and Sorted

    传送门 题目 There are 2N balls, N white and N black, arranged in a row. The integers from 1 through N are ...

  5. JSK 糟糕的bug

    传送门 题目居然复制不了(QAQ) 分析 TrieJSK已经2比较详细了,就不再单独写博客了,此题相较于Trie模板有一点不同,此题要求比较前缀却没有规定前面是后面的前缀还是后面是前面的前缀,所以我们 ...

  6. 内核启动流程2-C语言部分的最后一个函数init_post()

    最后分析最终调用用户空间init进程的函数init_post(). static noinline int init_post(void)这是一个非_init函数.强制让它为非内联函数,以防gcc让它 ...

  7. Windows 7,无法访问internet,DNS无响应

    我电脑网络连接显示有internet访问,但是网页打不开,QQ上不了,但可以PING通谷歌DNS 8.8.8.8,一PING域名就无法解析. 解决方法:开始-运行-输入"netsh wins ...

  8. 某欧洲电信运营商OSS功能架构

  9. 【java数据类型和mysqk数据类型对照表】

      java mysql 数据类型对照 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述             VARCHAR L+N VARCHAR java.lan ...

  10. JVM调试过程

    一.查看系统情况 Linux查看CPU和内存使用情况 二.查看JVM启动参数 2.1 jcmd JVM诊断之查看运行参数