`

连接查询

    博客分类:
  • sql
SQL 
阅读更多
写道
一、外连接
1.概念:包括左向外联接、右向外联接或完整外部联接

2.左连接:left join 或 left outer join
(1)左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,

则在相关联的结果集行中右表的所有选择列表列均为空值(null)。
(2)sql语句
select * from table1 left join table2 on table1.id=table2.id
-------------结果-------------
id name id score
------------------------------
1 lee 1 90
2 zhang 2 100
4 wang NULL NULL
------------------------------
注释:包含table1的所有子句,根据指定条件返回table2相应的字段,不符合的以null显示

3.右连接:right join 或 right outer join
(1)右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
(2)sql语句
select * from table1 right join table2 on table1.id=table2.id
-------------结果-------------
id name id score
------------------------------
1 lee 1 90
2 zhang 2 100
NULL NULL 3 70
------------------------------
注释:包含table2的所有子句,根据指定条件返回table1相应的字段,不符合的以null显示

4.完整外部联接:full join 或 full outer join
(1)完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,

则整个结果集行包含基表的数据值。
(2)sql语句
select * from table1 full join table2 on table1.id=table2.id
-------------结果-------------
id name id score
------------------------------
1 lee 1 90
2 zhang 2 100
4 wang NULL NULL
NULL NULL 3 70
------------------------------
注释:返回左右连接的和(见上左、右连接)

二、内连接
1.概念:内联接是用比较运算符比较要联接列的值的联接

2.内连接:join 或 inner join

3.sql语句
select * from table1 join table2 on table1.id=table2.id
-------------结果-------------
id name id score
------------------------------
1 lee 1 90
2 zhang 2 100
------------------------------
注释:只返回符合条件的table1和table2的列

4.等价(与下列执行效果相同)
A:select a.*,b.* from table1 a,table2 b where a.id=b.id
B:select * from table1 cross join table2 where table1.id=table2.id (注:cross join后加条件只能用where,不能用on)

三、交叉连接(完全)

1.概念:没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。(

table1和table2交叉连接产生3*3=9条记录)

2.交叉连接:cross join (不带条件where...)

3.sql语句
select * from table1 cross join table2
-------------结果-------------
id name id score
------------------------------
1 lee 1 90
2 zhang 1 90
4 wang 1 90
1 lee 2 100
2 zhang 2 100
4 wang 2 100
1 lee 3 70
2 zhang 3 70
4 wang 3 70
------------------------------
注释:返回3*3=9条记录,即笛卡尔积

4.等价(与下列执行效果相同)
A:select * from table1,table2

 

分享到:
评论

相关推荐

    数据库连接查询、子查询

    数据库连接查询和子查询 数据库连接查询和子查询是数据库查询语言中两个重要的概念。连接查询是指将两个或多个表连接起来,以便从多个表中检索数据。子查询是指在 WHERE 或 HAVING 子句中使用的SELECT语句。 连接...

    数据库作业7:SQL练习4 – SELECT(连接查询、嵌套查询)

    数据查询2—连接查询:同时涉及两个以上的表的查询 连接条件:用来连接两个表的条件 [.] [.] 连接字段:连接条件中的列名称(注意:连接字段类型必须是可比的,但名字不必相同) 连接查询—(1)等值与非等值连接查询:...

    【实验报告】数据库的简单查询和连接查询实验

    【实验报告】数据库的简单查询和连接查询实验 在本次实验中,我们专注于掌握SQL查询语句,包括单表查询和多表连接查询,旨在深化对关系、属性、主键和外键的理解。实验环境是Microsoft SQL Server或MySQL,实验前...

    SQL子查询、内连接和外连接查询

    【SQL子查询、内连接和外连接查询】 在SQL中,子查询、内连接和外连接是进行复杂数据检索的关键工具。这些概念的理解和熟练应用对于数据库管理与数据分析至关重要。 **子查询** 是一个嵌套在其他SQL语句中的查询,...

    在SAP前台用TCODE:SE16H实现表连接查询

    "SAP SE16H 表连接查询详解" 在 SAP 系统中,SE16H 是一个功能强大的工具,能够实现复杂的表连接查询。今天,我们将详细介绍如何使用 SE16H 实现表连接查询,并提供一个实际的示例。 SE16H 介绍 SE16H 是 SAP ...

    Oracle外连接查询

    Oracle的外连接查询是数据库操作中的重要组成部分,它允许用户获取来自两个或更多表的数据,即使在某些情况下,这些表之间的连接条件不完全匹配。在理解外连接查询之前,我们首先要了解内连接,即最基础的相等连接。...

    数据库实验报告——数据库的简单查询和连接查询

    实验报告的主题聚焦于数据库的简单查询和连接查询,旨在通过SQL Server查询分析器来实践和深化对SQL语言的理解。实验的目的是让学生掌握SQL Server查询分析器的使用,熟悉SQL查询语句,特别是针对数据表的查询操作,...

    数据库连接查询相关外连接内连接

    【数据库连接查询详解】 在数据库管理系统中,查询是获取数据的核心操作。本篇文章将深入探讨数据库连接查询,包括内连接、外连接和交叉连接等,同时结合实例来帮助理解。 首先,了解数据库的基础架构。Oracle...

    SQL连接查询语句实例

    在SQL查询中,连接查询是将两个或多个表的数据结合在一起的重要操作,这对于数据分析和信息检索至关重要。本文将深入探讨几种主要的SQL连接查询类型,包括内连接(INNER JOIN)、外连接(FULL JOIN、LEFT JOIN、...

    数据库实验报告-数据库的简单查询和连接查询

    根据给定的文件信息,以下是对“数据库实验报告-数据库的简单查询和连接查询”的详细解析,涵盖了实验目的、原理、步骤以及实验内容的关键知识点。 ### 实验目的 本实验旨在使学生掌握SQL Server查询分析器的使用...

    数据库原理及运用实验四SQL连接查询.doc

    数据库原理及运用实验四 SQL 连接查询 本实验报告主要探讨了数据库原理的应用,通过 SQL 连接查询实现了多种复杂的查询操作。以下是实验报告的详细解释: 一、数据库原理 数据库原理是数据库系统的基础理论,它...

    oracle连接查询SQL性能测试

    标题“Oracle连接查询SQL性能测试”涉及的是数据库管理和优化领域,特别是针对Oracle数据库系统的SQL查询性能分析。在Oracle中,连接查询(JOINs)是整合多个表数据的关键操作,其性能直接影响到数据库的整体效率。...

    第十一章连接查询和分组查询.zip

    在SQL(结构化查询语言)中,连接查询和分组查询是两个非常重要的概念,用于处理和分析数据库中的数据。本章将详细讲解这两个概念及其应用。 首先,我们来看连接查询。连接查询允许我们将多个表的数据结合在一起,...

    test_lesson07 SQL99语法连接查询.pdf

    在SQL99语法中,连接查询是数据库操作中不可或缺的一部分,它允许我们从多个表中检索数据,并将这些数据关联起来。在这个测试中,我们将探讨三个具体的查询需求,每个需求都涉及到了不同的连接类型和处理缺失值的...

    HQL连接查询和注解使用总结

    ### HQL连接查询和注解使用总结 #### HQL连接查询概述 HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者以一种更自然的方式查询对象,而不是直接查询底层数据库表。HQL支持多种连接查询...

    SQL多表连接查询优化的相关研究

    标题中的“SQL多表连接查询优化的相关研究”指的是在数据库管理中,如何高效地执行涉及多个数据表的SQL查询操作。在SQL(Structured Query Language)中,连接查询(JOIN)是用于合并两个或更多表中的数据的关键技术...

    mysql连接查询

    MySQL 连接查询详解 MySQL 连接查询是指在多个表之间进行查询操作,以获取所需的数据。根据连接的方式不同,可以将连接查询分为外连接和内连接两种类型。下面我们将详细介绍这两种类型的连接查询。 一、外连接 外...

    数据库实验---连接查询

    数据库实验——连接查询是数据库学习中的重要环节,它涉及到如何通过SQL语言进行高效的数据检索和综合分析。在本次实验中,我们将重点掌握SQL查询分析器的使用,深化对SQL语句的理解,并熟悉不同类型的查询操作。 ...

    Gbase 8s查询之连接查询

    Gbase 8s 查询之连接查询 Gbase 8s 查询之连接查询是关系数据库中的一种强大处理能力,能够将不同的数据按一定条件连接在一起。在 Gbase 8s 中,连接查询可以分为内连接、外连接和自连接三种类型。 内连接是将两个...

    数据库多表连接查询详解

    数据库多表连接查询详解 连接查询是关系数据库管理系统中的一种重要查询方式,它允许用户从多个表中检索数据,并将它们组合成一个结果集。连接查询的基本思想是通过连接运算符在多个表之间建立关系,从而实现数据的...

Global site tag (gtag.js) - Google Analytics