读文网>英语>专业英语>计算机英语

数据库join的用法

数据库join的用法的用法你知道吗?下面小编就跟你们详细介绍下数据库join的用法的用法,希望对你们有用。

数据库join的用法的用法如下:

SELECT a.symbol , a.sname , b.tdate , b.tclose

FROM a , b

WHERE a.symbol = b.symbol

上面的代码用WHERE关键词指明了两个表之间的联合关系。

如果改写为JOIN关键字,那么代码如下:

SELECT a.symbol , a.sname , b.tdate , b.tclose

FROM securitycode a

JOIN dayquote b

ON a.symbol = b.symbol

现在对JOIN的用法应该有个大概了解了,JOIN的具体用法和语法介绍如下:

先假设有表a、b如下:

表a 表b

---------------------- --------------------------------

| symbol | sname | | symbol | tdate | tclose |

-------------------------- -------------------------------------

| A | B | | A | C | D |

| G | H | | X | E | F |

-------------------------- ------------------------------------

内联接:

SELECT a.symbol , a.sname , b.tdate , b.tclose

FROM a

INNER JOIN b

ON a.symbol = b.symbol

其中INNER关键字可以省略。

此语句只有在表a和b中都有匹配行时,才返回。

所以本例中返回结果为:

symbol sname tdate tclose

A B C D --这一行即满足a.symbol = b.symbol

外联接:

SELECT a.symbol , a.sname , b.tdate , b.tclose

FROM a

RIGHT | LEFT | FULL OUTER JOIN b

ON a.symbol = b.symbol

其中OUTER关键词可以省略。

RIGHT JOIN:当右表格(即表b)中的行在左表中没有匹配行时,也返回。返回的记录中,选择的左表的列的内容为NULL。

所以本例中返回结果为:

symbol sname tdate tclose

A B C D --这一行即满足a.symbol = b.symbol

null null E F --这一行里,对应的b.symbol没有在表a中找到相同的a.symbol

LEFT JOIN:当左表格(即表a)中的行在右表中没有匹配行时,也返回。返回的记录中,选择的右表的列的内容为NULL。

所以本例中返回结果为:

symbol sname tdate tclose

A B C D --这一行即满足a.symbol = b.symbol

G H null null --这一行里,对应的a.symbol没有在表b中找到相同的b.symbol

FULL JOIN:可以把它理解为LFET和RIGHT的集合,某表中某一行在另一表中无匹配行,则相应列的内容为NULL。

所以本例中返回结果为:

symbol sname tdate tclose

A B C D --这一行即满足a.symbol = b.symbol

G H null null --这一行里,对应的a.symbol没有在表b中找到相同的b.symbol

null null E F --这一行里,对应的b.symbol没有在表a中找到相同的a.symbol

A B C D --这一行即满足a.symbol = b.symbol

交叉联接:

SELECT a.*,b.*

FROM a

CROSS JOIN b

交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。

也就是相当于两个表中的所有行进行排列组合。

若表a有X行,表b有Y行,则将返回XY行记录。

所以本例中返回结果为:

symbol sname tdate tclose

A B C D

G H C D

A B E F

G H E F

相关热搜

相关文章

【计算机英语】热点

【计算机英语】最新