10个简单步骤,完全理解SQL
SQL 语言标准中表的连接定义如下:
就拿之前的例子来说:
a 可能输如下表的连接:
将它放到之前的例子中就变成了:
尽管将一个连接表用逗号跟另一张表联合在一起并不是常用作法,但是你的确可以这么做。结果就是,最终输出的表就有了 a1+a2+b 个字段了。 在 SQL 语句中派生表的应用甚至比表连接更加强大,下面我们就要讲到表连接。 我们学到了什么? 思考问题时,要从表引用的角度出发,这样就很容易理解数据是怎样被 SQL 语句处理的,并且能够帮助你理解那些复杂的表引用是做什么的。 更重要的是,要理解 JOIN 是构建连接表的关键词,并不是 SELECT 语句的一部分。有一些数据库允许在 INSERT 、 UPDATE 、 DELETE 中使用 JOIN 。 5、 SQL 语句中推荐使用表连接 我们先看看刚刚这句话:
高级 SQL 程序员也许给你忠告:尽量不要使用逗号来代替 JOIN 进行表的连接,这样会提高你的 SQL 语句的可读性,并且可以避免一些错误。 利用逗号来简化 SQL 语句有时候会造成思维上的混乱,想一下下面的语句:
我们不难看出使用 JOIN 语句的好处在于: 安全。 JOIN 和要连接的表离得非常近,这样就能避免错误。 更多连接的方式,JOIN 语句能去区分出来外连接和内连接等。 我们学到了什么? 记着要尽量使用 JOIN 进行表的连接,永远不要在 FROM 后面使用逗号连接表。 6、 SQL 语句中不同的连接操作 SQL 语句中,表连接的方式从根本上分为五种:
EQUI JOIN 是一种最普通的 JOIN 操作,它包含两种连接方式: INNER JOIN(或者是 JOIN ) OUTER JOIN(包括: LEFT 、 RIGHT、 FULL OUTER JOIN) 用例子最容易说明其中区别:
SEMI JOIN 这种连接关系在 SQL 中有两种表现方式:使用 IN,或者使用 EXISTS。“ SEMI ”在拉丁文中是“半”的意思。这种连接方式是只连接目标表的一部分。这是什么意思呢? 再想一下上面关于作者和书名的连接。我们想象一下这样的情况:我们不需要作者 / 书名这样的组合,只是需要那些在书名表中的书的作者信息。那我们就能这么写:
(编辑:厦门网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |