<html>
<head>
<title>第十六章交叉连接和自连接</title>
</head>
<style>
p,center,b{color:red ;font-size:1cm}
pre{font-size:0.5cm;color:#0033FF}
</style>
<body>
<p>第十六章 交叉连接和自连接</p>
<pre>
交叉连接被用来定义内连接,它在检测代码中的错误方面也很重要,有时允许对小型表进行交叉连
接,而且非常有用,应该避免对大型表进行交叉连接。
自连接涉及表与自身的连接,当同一时间需要从相同表的几个行中获得信息时自连接是非常必要的
。
第一节
交叉连接的定义:交叉连接会将第一个表的每一个行与第二个表的每一行相匹配。导致了所有可能
的合并,交叉连接中的列等于原表中列的数量之和。交叉连接中的行等于表中行数的积。
任务:显示一个交叉连接的例子
select a.*,
b.*
from a,b;
交叉连接重要的原因:内连接的定义是基于交叉连接的。
有时候用交叉连接会产生错误,
小型表的交叉连接可以用来显示所有的组合。
必须避免大型表的交叉连接。
自连接的意义:
所有的数据库,每次只处理表中的一个行。您可以访问一个行中的所有列,但是只能在一个行中,
如果同一时间需要两个不同行中的信息。则需要将表与自身进行连接。
将一个表与自身进行连接:
select a.col_1,
a.col_2,
b.col_1 as col_3,
b.col_2 as col_4
from sec a,
sec b;
第十节
生成一个从0到999的数字。
首先创建一个包含从0到999的数字的表,然后将它与自己进行交叉连接。
drop table numbers_0_to_9;]
create table numbers_0to_9
(digit smalllint);
第二步:
insert into numbers_0to_9 values(0);(9);
select ((a.digit*100)+(b.digit*10)+c.digit)as n
into numbers_0_to_99
from numbers a,
nmbers b,
numbers c.
行编号:
从原select语句中创建一个新的表,使用alter table命令添加一个新的列。将新列规定为counter,
这将会自动赋值。
alter table sec1611
add column line_number counter;
额外的加第十七章的知识:
在生产数据训中合并表。
使用一系列步骤连接几个表。
在where子句中连接几个表,但不推荐
在From子句中连接几个表。
小心使用内连接,只要某个表的列包括null并且这个列被连接条件使用。
那么就有可能丢失信息。
小心使用左外连接和右外连接。
完全外连接了所有的信息。
注意计算机的效率
使用索引提高查询效率。
别让计算机处理您不使用的数据行。
使用表保存总结数据。
连接是数据库设计的一部分。
视图可以标准化表的连接方式。
SQl语言的设计标准:做一件事并且做好它。
重点是信息,将表现层留给了其它软件。
保持SQL语言的简单性。
协调人们一起工作。
新的界面。窗体。报告。Web工具。
</pre>
<hr size=4 width=80% align=left >
<a href="首页.html"><p>返回首页</p></a>
</b
SQL基础第十六章
最新推荐文章于 2021-12-09 15:24:52 发布