关系数据操作

实现在一个查询语句中显示多张表的数据,这就是多表数据记录连接查询,简称为连接查询。

连接操作是关系数据操作中专门用于数据库操作的关系运算。

1、并(UNION)

“并”是指把具有相同字段数目和字段类型的表合并到一起。

合并查询数据记录语法形式:

select field1,field2,...,fieldn from table_name1

union|union all

select field1,field2,...,fieldn from table_name2

union|union all

select field1,field2,...,fieldn from table_name3

...

关键字union会把查询结果集直接合并在一起,同时将会去掉重复数据记录。关键字union all会直接把查询结果集放一起。

2、笛卡尔积(CARTESIAN PRODUCT)

笛卡尔积是没有连接条件表关系返回的结果。

3、内连接(INNER JOIN)

在表关系的笛卡尔积数据记录中,保留表关系中所有匹配的数据记录,舍弃不匹配的数据记录。按匹配的条件可以分成自然连接、等值连接和不等连接。

实现内连接查询的两种方式:

  • 在from子句中利用逗号区分多个表,在where子句中通过逻辑表达式来实现匹配条件,从而实现表的连接。
  • ANSI连接语法形式,在from子句中使用join...on关键字,而连接条件写在关键字on子句中

INNER JOIN ON语法形式:

select field1,field2,...,fieldn from join_tablename1 inner join join_tablename2 [inner join join_tablename] on join_condition;

自然连接(NATURE JOIN)

根据表关系中相同名称的字段自动进行记录匹配,然后去掉重复的字段

等值连接

等值连接是在表关系的笛卡尔积中,选择匹配字段值相等的数据记录。

不等连接

不等连接是在表关系的笛卡尔积中,选择所匹配字段值不相等的数据记录。

4、外连接(OUTER JOIN)

外连接是指在表关系的笛卡尔积中,不仅保留所匹配的数据记录,而且还会保留部分不匹配的数据记录。

语法形式:

select field1,field2,...,fieldn from join_tablename1 left|right [outer] join join_tablename2 on join_condition;

左外连接(LEFT OUTER JOIN)

在外连接是指在表关系的笛卡尔积中,除了选择相匹配的数据记录,还包含关联左边表中不匹配的数据记录。

右外连接(RIGHT OUTER JOIN)

右外连接是指在表关系的笛卡尔积中,除了选择相匹配的数据记录,还包含关联右边表中不匹配的数据记录。

猜你喜欢

转载自www.cnblogs.com/alphajuns/p/9914635.html