数据表的连接有:
1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现
2、外连接: 包括
(1)左外连接(左边的表不加限制)
(2)右外连接(右边的表不加限制)
(3)全外连接(左右两表都不加限制)
3、自连接(连接发生在一张基表内)
select a.studentno, a.studentname, b.classname
from students a, classes b
where a.classid(+) = b.classid;
STUDENTNO STUDENTNAM CLASSNAME
---------- ---------- ------------------------------
1 A 一年级一班
2 B 一年级二班
一年级三班
以上语句是右连接:
即"(+)"所在位置的另一侧为连接的方向,右连接说明等号右侧的所有
记录均会被显示,无论其在左侧是否得到匹配。也就是说上例中,无
论会不会出现某个班级没有一个学生的情况,这个班级的名字都会在
查询结构中出现。
反之:
select a.studentno, a.studentname, b.classname
from students a, classes b
where a.classid = b.classid(+);
STUDENTNO STUDENTNAM CLASSNAME
---------- ---------- ------------------------------
1 A 一年级一班
2 B 一年级二班
3 C
则是左连接,无论这个学生有没有一个能在一个班级中得到匹配的部门号,
这个学生的记录都会被显示。
select a.studentno, a.studentname, b.classname
from students a, classes b
where a.classid = b.classid;
[/sql]
这个则是通常用到的内连接,显示两表都符合条件的记录
总之,
左连接显示左边全部的和右边与左边相同的
右连接显示右边全部的和左边与右边相同的
内连接是只显示满足条件的!
分享到:
相关推荐
### Oracle面试题集结 #### ORACLE 认证大师 (OCM) 课程介绍: 在IT行业中,Oracle认证一直是衡量数据库专业技能的重要标准之一。其中,OCM(Oracle Certified Master)认证被视为最高级别的专家认证,代表着持有...
面试中,Oracle相关的问题通常涉及到数据库的设计、优化、查询以及管理等方面。以下是对这些面试问题的详细解答: **一、Oracle表分区功能** Oracle表分区是一种高效的数据管理策略,它允许将大表分成更小、更易...
面试中,对Oracle的了解通常是技术岗位必备的知识点。以下是对Oracle常见面试问题的详细解析: 1. **数据库理解**:SQL2005是微软的RDBMS产品,适合中型应用,不支持跨平台。Oracle是ORACLE公司的ORDBMS,支持海量...
### 外国公司DBA面试题目解析 #### 1. 共享池包含多少个内存层? 共享池是Oracle数据库系统全局区(SGA)的重要组成部分之一,它主要负责存储SQL语句及其执行计划等信息。根据题目描述,共享池由两部分组成:库缓存...
面试时,数据库相关的题目经常出现,这有助于评估候选人的理论基础和实践经验。以下是对数据库连接操作的深入探讨。 连接(JOIN)操作是SQL查询中的关键部分,它允许我们从多个表中合并数据。主要的连接类型有内...
- **全连接(Full Join)**:返回左右两表的所有记录,如果某条记录在另一表中没有匹配,则用NULL填充。 2. MySQL中`IN`与`EXISTS`的区别: - **IN**:IN后的子查询返回一个结果集,主查询检查这个结果集中是否有...
- Oracle的左右连接应用。 - Oracle默认端口(1521)及其修改方法。 - Oracle锁机制及应用。 - ALTER语句的应用,如添加、修改、删除列。 - 复合主键的约束。 - 函数与过程的区别,存储过程参数类型。 - 删除...
MySQL是世界上最流行的开源关系型数据库管理系统之一,其面试题涵盖了多个方面,包括表连接类型、COUNT函数的不同用法、索引类型以及优化策略等。以下是对这些知识点的详细阐述: 1. **表连接类型** - **内连接...
Oracle的左右连接 - **左连接**(LEFT JOIN):保留左侧表的所有记录,并在右侧表中查找匹配项。 - **右连接**(RIGHT JOIN):保留右侧表的所有记录,并在左侧表中查找匹配项。 #### 15. Oracle锁机制 - Oracle...
- 数据库:存储数据的结构化集合,如MySQL、Oracle、SQL Server等。 - 表:数据库中的基本单元,由列(字段)和行(记录)组成。 - 数据类型:包括数值类型(如INT、FLOAT)、字符串类型(如VARCHAR、CHAR)、...
根据提供的信息,我们可以总结出以下相关的数据库面试知识点: ### 数据库面试知识点概览 #### 1. 字符串函数 - **ASCII()**: 返回字符的 ASCII 值。 - **CHR()**: 将 ASCII 值转换为字符。注意:ASCII 值范围在 ...
MySQL 面试常问问题及答案 MySQL 数据类型: 1. 整型 (int):用于存储整数,如 1、2、3 等。 2. 字符串型 (char):用于存储固定长度的字符串,如 'hello'。 3. 可变长度字符类型 (varchar):用于存储可变长度的...
Oracle是一种大型数据库管理系统,市场占有率达40%,而MySQL是一种中小型数据库管理系统,市场占有率只有20%左右。Oracle价格非常高,而MySQL是开源的。Oracle支持大并发,大访问量,是OLTP(Online Transactional ...
### Java工程师面试题知识点解析 #### 一、Hibernate去除重复项 **问题**: 在Hibernate中如何去除查询结果中的重复项? **解决方案**: 使用`Criteria` API中的`setResultTransformer()`方法,并传递`Criteria....
1. 数据库概念:SQL主要用于与关系数据库交互,如MySQL、PostgreSQL、Oracle等。关系数据库是基于表格的数据结构,其中包含表格、行和列。 2. 数据类型:SQL支持多种数据类型,如整数(INT)、浮点数(FLOAT)、...