谁用自己的话解释一下什么是连接查询,左连接右连接

来源:百度知道 编辑:UC知道 时间:2024/04/29 17:33:42

连接查询,就是将
两个或多个
表或视图
通过一定的条件
将全部或部份字段
全部或部份记录
连接到一起,得到一个新的数据集合。
如:有人员档案和工资档案两个表,两个表有共同的关键字段XMDM(姓名代码),其中人员档案存储了人事资料,工资档案存储了薪酬资料。
因此可以通过XMDM字段将两个表连接起来,从而使查询结果可以同时得到人员档案信息和工资信息。
SELECT * FROM 人员档案,工资档案 where 人员档案.XMDM=工资档案.XMDM
左连接就是以前面的表为主,先列示左表中所有记录,然后右边(后面的)的表如有符合连接条件的记录就与左表字段连接后列示,否则不列示。
SELECT * FROM 人员档案 left join 工资档案 on 人员档案.XMDM=工资档案.XMDM
右连接是以后面的表为主,列示后面的表中所有记录与前面的表中符合连接条件的记录:
SELECT * FROM 人员档案 RIGHT join 工资档案 on 人员档案.XMDM=工资档案.XMDM

连接 join。
关系数据库有一个非常优秀的特性,叫做低冗余。冗余是什么意思呢?比较通俗的说,就是数据库中存在着大量相同的数据,而这些数据的存在则占用的资源,并且容易使数据库出现问题(数据异常)。
解决这个冗余问题的方法就是数据结构化。这个结构化不仅仅是表的数据结构,而且是关系的一种结构。在学习数据库的时候,主键外键的概念就是构成关系间结构的方法。通常一个数据库并不会将所有的数据都存储在一张表中,而是设计成多个表来实现的。这些表不多互相独立的,虽然看起来表和表之间没有什么关系,但是主键外键却使他们形成了一种参照的关系。
两个表的连接,需要表和表之间有一种可比性,而这种可比性是从主外键上体现的。(请自己理解一下等值连接的概念,比较通俗)
你找的字段如果是分散在多个表中,这时候如何里查询呢?解决的办法,就是连接查询。明白了吗?
left outer join,除了满足连接条件的行,还包括左表的所有行。
right outer join,除了满足连接条件的行,还包括右表的所有行。
--