分类: 数据库开发技术
2009-01-26 20:00:00
外部连接的语法是依数据库的不同而有所不同的。举例来说,在 Oracle 上,我们会在 WHERE 子句中要选出所有资料的那个表格之后加上一个 "(+)" 来代表说这个表格中的所有资料我们都要。
假设我们有以下的两个表格:
Store_Information 表格
store_name | Sales | Date |
Los Angeles | $1,500 | Jan-05-1999 |
San Diego | $250 | Jan-07-1999 |
Los Angeles | $300 | Jan-08-1999 |
Boston | $700 | Jan-08-1999 |
Geography 表格
region_name | store_name |
East | Boston |
East | New York |
West | Los Angeles |
West | San Diego |
我们需要知道每一间店的营业额。如果我们用一个普通的连接,我们将会漏失掉 'New York'这个店,因为它并不存在于 Store_Information 这个表格。所以,在这个情况下,我们需要用外部连接来串联这两个表格:
我们在这里是使用了 Oracle 的外部连接语法。
结果:
store_name | SALES |
Boston | $700 |
New York | |
Los Angeles | $1800 |
San Diego | $250 |
请注意: 当第二个表格没有相对的资料时,SQL 会传回 NULL 值。在这一个例子中, 'New York' 并不存在于 Store_Information 表格,所以它的 "SALES" 栏位是 NULL。
上一页:SQL 连接
下一页:SQL Subquery