- 浏览: 91376 次
- 性别:
- 来自: 上海
文章分类
最新评论
自然连接(INNER JOIN)也叫内连接
SELECT PUB_NAME,TITLE
FROM TITLES,PUBLISHERS
WHERE TITLES.PUB_ID=PUBLISHERS.PUB_ID
或写成:
SELECT PUB_NAME,TITLE
FROM TITLES INNER JOIN PUBLISHERS
ON TITLES.PUB_ID=PUBLISHERS.PUB_ID
其中,INNER JOIN是SQL Server的缺省连接,可简写为JOIN。在JOIN后面指定哪些表作连接。ON后面指定了连接的条件。
以上操作的过程如下:
1) 从TITLES表中取出一条符合其条件的记录。
2) 扫描PUBLISHERS表,分别检查每条记录是否在连接属性上同表TITLES取出的记录相
3) 相等就显示信息。继续从表TITLES中取下一条记录,重复步骤2。其实,两个或多个表要做连接,那么这些表之间必然存在着主键和外键的关系。所以,只需要将这些键的关系列出,就可以得出表连接的结果。如上例中, PUB_ID是PUBLISHERS表的主键, PUB_ID又是
TITLES表的外键,参照PUBLISHERS表中的PUB_ID .所以,这两个表的连接条件就是TITLES.PUB_ID=PUBLISHERS. PUB_ID。
外连接
创建外连接规则:
1) 外连接显示外部表中的所有行,包括与相关表不相配的行在内。
2) 外连接只能在两张表之间进行。
3) 不能在内部表上使用IS NULL检索条件。
SQL语句:select * from A right join B on A.aID = B.bID;
Oracle特有的方法 select * from A,B on A.aID(+)= B.bID;
right join是以B表的记录为基础的,A可以看成左表,B可以看成右表,right join是以右表为准的。换句话说,右表(B)的记录将会全部表示出来,而左表(A)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID)。A表记录不足的地方均为NULL。
SQL语句:select * from A left join B on A.aID = B.bID;
Oracle特有的方法 select * from A,B on A.aID= B.bID(+);
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的。换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID)。B表记录不足的地方均为NULL。
SELECT PUB_NAME,TITLE
FROM TITLES,PUBLISHERS
WHERE TITLES.PUB_ID=PUBLISHERS.PUB_ID
或写成:
SELECT PUB_NAME,TITLE
FROM TITLES INNER JOIN PUBLISHERS
ON TITLES.PUB_ID=PUBLISHERS.PUB_ID
其中,INNER JOIN是SQL Server的缺省连接,可简写为JOIN。在JOIN后面指定哪些表作连接。ON后面指定了连接的条件。
以上操作的过程如下:
1) 从TITLES表中取出一条符合其条件的记录。
2) 扫描PUBLISHERS表,分别检查每条记录是否在连接属性上同表TITLES取出的记录相
3) 相等就显示信息。继续从表TITLES中取下一条记录,重复步骤2。其实,两个或多个表要做连接,那么这些表之间必然存在着主键和外键的关系。所以,只需要将这些键的关系列出,就可以得出表连接的结果。如上例中, PUB_ID是PUBLISHERS表的主键, PUB_ID又是
TITLES表的外键,参照PUBLISHERS表中的PUB_ID .所以,这两个表的连接条件就是TITLES.PUB_ID=PUBLISHERS. PUB_ID。
外连接
创建外连接规则:
1) 外连接显示外部表中的所有行,包括与相关表不相配的行在内。
2) 外连接只能在两张表之间进行。
3) 不能在内部表上使用IS NULL检索条件。
SQL语句:select * from A right join B on A.aID = B.bID;
Oracle特有的方法 select * from A,B on A.aID(+)= B.bID;
right join是以B表的记录为基础的,A可以看成左表,B可以看成右表,right join是以右表为准的。换句话说,右表(B)的记录将会全部表示出来,而左表(A)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID)。A表记录不足的地方均为NULL。
SQL语句:select * from A left join B on A.aID = B.bID;
Oracle特有的方法 select * from A,B on A.aID= B.bID(+);
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的。换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID)。B表记录不足的地方均为NULL。
发表评论
-
oracle赋权
2016-12-07 16:29 0create user seki identified by ... -
mangodb
2015-08-20 10:53 0http://www.cnblogs.com/huangxin ... -
MySQL
2015-06-18 13:52 0函数TimeStampDiff()是MySQL本身提供的可以计 ... -
SQL优化规范
2015-04-17 13:44 386优化规范 1.1 限制输出原则 在OLTP系统中,原则上都 ... -
游标使用
2015-04-16 14:59 430简单游标 declare cursor cur_pol ... -
动态SQL
2015-01-26 15:36 282DECLARE v_sql VARCHAR2(10000) ... -
NoSQL存储
2013-11-30 11:33 414NoSQL不仅仅是No SQL,还是Not only SQL, ... -
NVARCHAR2&VARCHAR2
2013-01-21 14:13 5891、NVARCHAR2(10)是可以存进去10个汉字的,如果用 ... -
PL/SQL多行数据处理
2012-12-28 11:48 6201.游标 申明游标 使用时打开 cursor c_cursor ... -
oracle常见错误
2012-11-26 10:39 605ORA-01476: divisor is equal to ... -
ALTER 操作
2012-11-15 13:40 591--新增列 ALTER TABLE Table_name AD ... -
savepoint&rollback
2012-03-17 13:37 798A simple rollback or commit era ... -
oracle NULL
2012-02-24 21:29 326当变量赋为NULL时,需特别注意 if v_tmp exp ... -
having&group by
2012-01-18 16:24 659GROUP BY 是分组查询, 一般 GROUP BY 是和聚 ... -
CURSOR
2012-01-11 10:16 785--定义 CURSOR c_mycursor IS sele ... -
oracle表&视图
2012-01-09 19:43 677user_tables用于存储用户分配的表视图 dba_ta ... -
oracle数据导入导出
2012-01-05 15:20 749--将数据库db完全导出 exp user/pwd@db fi ... -
UNION 与 UNION ALL
2011-12-27 21:03 697UNION 与 UNION ALL UNION 有一个内部的 ... -
索引 CREATE INDEX
2011-11-21 13:45 629B-树 数据结构 CREATE INDE ... -
trigger 控制
2011-11-21 13:43 801alter trigger TRI_TABLE__BIU_A ...
相关推荐
数据库连接查询和子查询 数据库连接查询和子查询是数据库查询语言中两个重要的概念。连接查询是指将两个或多个表连接起来,以便从多个表中检索数据。子查询是指在 WHERE 或 HAVING 子句中使用的SELECT语句。 连接...
数据查询2—连接查询:同时涉及两个以上的表的查询 连接条件:用来连接两个表的条件 [.] [.] 连接字段:连接条件中的列名称(注意:连接字段类型必须是可比的,但名字不必相同) 连接查询—(1)等值与非等值连接查询:...
【实验报告】数据库的简单查询和连接查询实验 在本次实验中,我们专注于掌握SQL查询语句,包括单表查询和多表连接查询,旨在深化对关系、属性、主键和外键的理解。实验环境是Microsoft SQL Server或MySQL,实验前...
【SQL子查询、内连接和外连接查询】 在SQL中,子查询、内连接和外连接是进行复杂数据检索的关键工具。这些概念的理解和熟练应用对于数据库管理与数据分析至关重要。 **子查询** 是一个嵌套在其他SQL语句中的查询,...
"SAP SE16H 表连接查询详解" 在 SAP 系统中,SE16H 是一个功能强大的工具,能够实现复杂的表连接查询。今天,我们将详细介绍如何使用 SE16H 实现表连接查询,并提供一个实际的示例。 SE16H 介绍 SE16H 是 SAP ...
Oracle的外连接查询是数据库操作中的重要组成部分,它允许用户获取来自两个或更多表的数据,即使在某些情况下,这些表之间的连接条件不完全匹配。在理解外连接查询之前,我们首先要了解内连接,即最基础的相等连接。...
实验报告的主题聚焦于数据库的简单查询和连接查询,旨在通过SQL Server查询分析器来实践和深化对SQL语言的理解。实验的目的是让学生掌握SQL Server查询分析器的使用,熟悉SQL查询语句,特别是针对数据表的查询操作,...
【数据库连接查询详解】 在数据库管理系统中,查询是获取数据的核心操作。本篇文章将深入探讨数据库连接查询,包括内连接、外连接和交叉连接等,同时结合实例来帮助理解。 首先,了解数据库的基础架构。Oracle...
在SQL查询中,连接查询是将两个或多个表的数据结合在一起的重要操作,这对于数据分析和信息检索至关重要。本文将深入探讨几种主要的SQL连接查询类型,包括内连接(INNER JOIN)、外连接(FULL JOIN、LEFT JOIN、...
数据库系统中的连接查询是SQL语言中的重要组成部分,用于从多个表中检索满足特定条件的数据。在数据查询过程中,连接查询允许我们从一个或多个表中提取相关联的信息,以满足复杂的业务需求。以下是对连接查询的详细...
根据给定的文件信息,以下是对“数据库实验报告-数据库的简单查询和连接查询”的详细解析,涵盖了实验目的、原理、步骤以及实验内容的关键知识点。 ### 实验目的 本实验旨在使学生掌握SQL Server查询分析器的使用...
数据库原理及运用实验四 SQL 连接查询 本实验报告主要探讨了数据库原理的应用,通过 SQL 连接查询实现了多种复杂的查询操作。以下是实验报告的详细解释: 一、数据库原理 数据库原理是数据库系统的基础理论,它...
标题“Oracle连接查询SQL性能测试”涉及的是数据库管理和优化领域,特别是针对Oracle数据库系统的SQL查询性能分析。在Oracle中,连接查询(JOINs)是整合多个表数据的关键操作,其性能直接影响到数据库的整体效率。...
在SQL(结构化查询语言)中,连接查询和分组查询是两个非常重要的概念,用于处理和分析数据库中的数据。本章将详细讲解这两个概念及其应用。 首先,我们来看连接查询。连接查询允许我们将多个表的数据结合在一起,...
在SQL99语法中,连接查询是数据库操作中不可或缺的一部分,它允许我们从多个表中检索数据,并将这些数据关联起来。在这个测试中,我们将探讨三个具体的查询需求,每个需求都涉及到了不同的连接类型和处理缺失值的...
### HQL连接查询和注解使用总结 #### HQL连接查询概述 HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者以一种更自然的方式查询对象,而不是直接查询底层数据库表。HQL支持多种连接查询...
标题中的“SQL多表连接查询优化的相关研究”指的是在数据库管理中,如何高效地执行涉及多个数据表的SQL查询操作。在SQL(Structured Query Language)中,连接查询(JOIN)是用于合并两个或更多表中的数据的关键技术...
MySQL 连接查询详解 MySQL 连接查询是指在多个表之间进行查询操作,以获取所需的数据。根据连接的方式不同,可以将连接查询分为外连接和内连接两种类型。下面我们将详细介绍这两种类型的连接查询。 一、外连接 外...
Gbase 8s 查询之连接查询 Gbase 8s 查询之连接查询是关系数据库中的一种强大处理能力,能够将不同的数据按一定条件连接在一起。在 Gbase 8s 中,连接查询可以分为内连接、外连接和自连接三种类型。 内连接是将两个...
数据库多表连接查询详解 连接查询是关系数据库管理系统中的一种重要查询方式,它允许用户从多个表中检索数据,并将它们组合成一个结果集。连接查询的基本思想是通过连接运算符在多个表之间建立关系,从而实现数据的...