数据库的连接查询

转载 2006年06月01日 23:47:00

连接的结果是从两个或两个以上的表的组合中挑选出符合连接条件的数据,如果数据无法满足连接条件则将其丢弃。通常称这种方

法为内部连接(InnerJoin)。在内部连接中,参与连接的表的地位是平等的。与内部连接相对的方式称为外部连接(Outer Join)

。在外部连接中,参与连接的表有主从之分,以主表的每行数据去匹配从表的数据列,符合连接条件的数据将直接返回到结果集中

,对那些不符合连接条件的列,将被填上NULL 值后再返回到结果集中(对BIT 类型的列,由于BIT 数据类型不允许NULL 值,因此

将会被填上0 值再返回到结果中)。

    外部连接分为左外部连接(Left Outer Join)和右外部连接(Right Outer Join)两种。以主表所在的方向区分外部连接,主

表在左边,则称为左外部连接,主表在右边,则称为右外部连接。


通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。

在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过

连接操作查询出存放在多个表中的不同实体的信息。连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。

为不同实体创建新的表,尔后通过连接进行查询。

连接可以在SELECT 语句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出连接时有助于将连接操作与WHERE子句中的搜索

条件区分开来。所以,在Transact-SQL中推荐使用这种方法。

SQL-92标准所定义的FROM子句的连接语法格式为:

FROM join_table join_type join_table

[ON (join_condition)]

其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接又称做自连接。

join_type 指出连接类型,可分为三种:内连接、外连接和交叉连接。内连接(INNER JOIN)使用比较运算符进行表间某(些)列数据

的比较操作,并列出这些表中与连接条件相匹配的数据行。根据所使用的比较方式不同,内连接又分为等值连接、自然连接和不等

连接三种。

外连接分为左外连接(LEFT OUTER JOIN或LEFT JOIN)、右外连接(RIGHT OUTER JOIN或RIGHT JOIN)和全外连接(FULL OUTER JOIN或

FULL JOIN)三种。与内连接不同的是,外连接不只列出与连接条件相匹配的行,而是列出左表(左外连接时)、右表(右外连接时)或

两个表(全外连接时)中所有符合搜索条件的数据行。

交叉连接(CROSS JOIN)没有WHERE 子句,它返回连接表中所有数据行的笛卡尔积,其结果集合中的数据行数等于第一个表中符合查

询条件的数据行数乘以第二个表中符合查询条件的数据行数。

连接操作中的ON (join_condition) 子句指出连接条件,它由被连接表中的列和比较运算符、逻辑运算符等构成。

无论哪种连接都不能对text、ntext和image数据类型列进行直接连接,但可以对这三种列进行间接连接

数据库之联合查询和连接查询

1.JOIN和UNION区别 join 是两张表做交连后里面条件相同的部分记录产生一个记录集, union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集。 JOIN用于按照O...
  • memgxingfeixiang
  • memgxingfeixiang
  • 2016年10月09日 11:44
  • 3645

SQL中的连接查询与嵌套查询

连接查询 若一个查询同时涉及两个或两个以上的表,则称之为连接查询。连接查询是数据库中最最要的查询, 包括: 1、等值连接查询 2、自然连接查询 3、非等值连接查询 4、自身连接查询 5、外连接查询 6...
  • CCSUXWZ
  • CCSUXWZ
  • 2017年04月13日 23:09
  • 5048

数据库的连接查询

连接查询:若一次查询涉及两个或两个以上的表,称之为连接查询。 连接查询可以分为: 等值连接 非等值连接 自然连接 自身连接 外连接 复合条件连接 以下的例程,都以下面的三个表为例:CREATE TAB...
  • IT_DREAM_ER
  • IT_DREAM_ER
  • 2017年03月22日 17:46
  • 247

数据库 - 连接查询、嵌套查询、集合查询

连接查询连接查询:同时涉及多个表的查询 连接条件或连接谓词:用来连接两个表的条件 一般格式: [.] [.] [.] BETWEEN [.] AND [.]连接字段:连接谓词中的列名称...
  • wangzi11322
  • wangzi11322
  • 2015年05月05日 13:32
  • 8899

SQL数据库查询 左连接、右连接、内连接 实例

 例子Table Aaid   adate 1      a1 2      a2 3      a3TableBbid bdate 1    b1 2    b2 4    b4 两个表a,b相连接...
  • wl_ldy
  • wl_ldy
  • 2010年02月04日 21:59
  • 5164

数据库连接查询之外连接查询

实际的数据库中总包含着许多的表,并且实际应用中也不可能只对一个表格进行查询。如果一个查询同时涉及两个以上的表,则称之为连接查询。连接查询是关系数据库中最主要的查询。连接查询包括等值连接查询、非等值连接...
  • hardly555
  • hardly555
  • 2017年06月12日 17:28
  • 377

SQL连接查询总结和练习

通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,是它区别于其它类型 数据库管理系统的一个标志。连接可以在SELECT 语句的FROM子句或WHERE子句中建立,在FROM子句中指出连...
  • lingxue1027
  • lingxue1027
  • 2015年04月21日 10:17
  • 16840

自身连接查询

--数据库基本表的创建,插入,删除,更新操作 --建立一个"学生"表 --学生的学号:Sno,类型是char(9)-->因为学生的学号是9位的定长的字符串; --学生的姓名:Sname,类型是varc...
  • ArithmeticException
  • ArithmeticException
  • 2016年11月20日 16:27
  • 469

数据库连接查询

由于下面的图被覆盖掉了,所以无法显示了。      连接操作是大家基本都用到的,现在归纳总结如下:      通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据...
  • longronglin
  • longronglin
  • 2006年08月22日 19:06
  • 1829

数据库左连接查询(查询多张表中的数据)

描述:根据两张表的关联字段,将两张表进行关联来取数据 语句:select a.,b. from a left join b on a.aid=b.bid 例子:...
  • u012492764
  • u012492764
  • 2016年12月13日 14:02
  • 853
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库的连接查询
举报原因:
原因补充:

(最多只允许输入30个字)