笛卡尔积与连接查询
来源:互联网 发布:男士加厚羽绒服淘宝 编辑:程序博客网 时间:2024/05/16 11:20
连接查询 (左连接 右连接内连接)
笛卡尔乘积
集合特性:确定性 无序性 唯一性
一张表可以看做是一个集合,每行数据相当于集合的一个元素
Union时去掉重复
表中存在完全相同的两行是因为
进行区分
笛卡尔积
如果 a∈A, b∈B
A*B = ( a, b);
例如A=(1,2,3,4,5);B=(11,12);
那么A*B
(1,11), (2,11), (3,11), (4,11), (5,11),
(1,12), (2,12), (3,12), (4,12), (5,12);
A有 M 个元素 B 有N个元素
那么 A*B 有 M*N个元素
同理
表A有 M 行 表B有N 行
那么 A*B 有 M*N行
例如:
tatb 两表
笛卡尔积
通过分析可以看出
tb 表的 ab c d
左连接
1 连上表
2
例如:
select
good_id,goods.cat_id,goods_name,shop_price
from
goods left join category
on good.cat_id = category.cat_id;
字段名重复那么需要加表前缀,否则会报错;
error 1052(23000) column * in field list isambiguous
最后两行可以看 作是一张表。
左连接语法:
select 列1,列2,列N
from
table 1 left join table 2
on table 1
on 后面的条件只要是条件就可以 可以不是等于 但是常用是等于。将from 后面的当做一个普通表看待。
右连接语法:
select 列1,列2,列N
from
table 1 right join table 2
on table 1
select 列1,列2,列N
from
table 1 inner join table 2
on table 1
左连接和右连接
是以左边的表为基准。通俗的讲,先将左边的表全部显示出来,然后右边的表id与左边表id相同的记录就“拼接”上去,比如说id为1的记录。如果没有匹配的id,比如说t1中id为2的t2中就没有。那边就以null显示。右外连接过程正好相反。
内连接
只有一条记录。内连接就是只取出符合过滤条件的记录 也就是t1.id=t2.id 那么符合t1.id=t2.id的记录只有id=1这一条,所以只显示一条。 不像外连接,是将你作为基准的表(左外连接就是左边表为基准,右外连接就是右边表为基准)的所有行都显示出来。
LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。
语法:
FROM table1 LEFT JOIN table2 ON table1.field1 compoprtable2.field2
说明:
① table1, table2参数用于指定要将记录组合的表的名称。
② field1,field2参数指定被联接的字段的名称。且这些字段必须有相同的数据类型及包含相同类型的数据,但它们不需要有相同的名称。
③ compopr参数指定关系比较运算符:"=", "<", ">","<=", ">=" 或"<>"。
④ 如果在INNER JOIN操作中要联接包含Memo 数据类型或 OLE Object 数据类型数据的字段,将会发生错误
- 笛卡尔积与连接查询
- Oracle笛卡尔积与连接查询
- 笛卡尔积与多表查询
- 数据库Oracle之多表查询:笛卡尔积、等值连接、不等值连接、外连接,自连接
- 【精华版】mysql的自然连接(natural join)与笛卡尔积
- 关于内连接、外连接、笛卡尔积
- 笛卡尔积,自然连接,外连接
- 笛卡尔积与交叉联接
- 关于笛卡尔积、全连接测试
- Oracle 笛卡尔积交集内外连接
- Oracle笛卡尔积,分组,多表连接
- 内连接 外连接 交叉连接 笛卡尔积
- 内连接、外连接、交叉连接、笛卡尔积
- 内连接 外连接 交叉连接 笛卡尔积
- 内连接 外连接 交叉连接 笛卡尔积
- 内连接 外连接 交叉连接 笛卡尔积
- MySQL左连接、右连接、笛卡尔积的表现形式
- 笛卡尔连接构造一则
- mysql学习阶段性总结
- 刘道成 mysql 视频教程 配套材料
- mysql数据库 备份和恢复
- mysql 数据库 备份和恢复练习
- mysql 数据恢复 案例: “恢复/导入…
- 笛卡尔积与连接查询
- mysql 新的学习模式
- mysql 子查询(完整)
- 列操作(增加 修改 删除列)
- mysql union 的用法
- MYSQL 小细节
- 连接、查询出现的问题及解决方案(…
- mysql 注释
- MyEclipse使用手册(详细版)