JUnit使用經(jīng)驗(yàn)(1)(2)(3)
http://www.z6688.com/info/27393-1.htmhttp://www.z6688.com/info/27394-1.htm
http://www.z6688.com/info/27392-1.htm
比較有用的是測(cè)試執(zhí)行順序那鍋和不必寫捕獲異常的那鍋。
posted on 2007-01-05 17:01 SYBIL@BLOGJAVA 閱讀(878) 評(píng)論(1) 編輯 收藏
posted on 2007-01-05 17:01 SYBIL@BLOGJAVA 閱讀(878) 評(píng)論(1) 編輯 收藏
7.13 JOIN句法
MySQL支持下列用于SELECT語(yǔ)句的JOIN句法:
table_reference, table_reference
table_reference [CROSS] JOIN table_reference
table_reference INNER JOIN table_reference
table_reference STRAIGHT_JOIN table_reference
table_reference LEFT [OUTER] JOIN table_reference ON conditional_expr
table_reference LEFT [OUTER] JOIN table_reference USING (column_list)
table_reference NATURAL LEFT [OUTER] JOIN table_reference
{ oj table_reference LEFT OUTER JOIN table_reference ON conditional_expr }
上述最后的LEFT OUTER JOIN的句法只是為了與ODBC兼容而存在的。
一個(gè)表可以是使用aliasedtbl_name AS alias_name或tbl_name alias_name的起的別名。
mysql> select t1.name, t2.salary from employee AS t1, info AS t2
where t1.name = t2.name;
INNER JOIN和,(逗號(hào))在語(yǔ)義上是等價(jià)的,都是進(jìn)行一個(gè)在使用的表之間的全聯(lián)結(jié)。通常,你指定表應(yīng)該如何用WHERE條件聯(lián)結(jié)起來(lái)。
ON條件是可以用在一個(gè)WHERE子句形式的任何條件。
如果在一個(gè)LEFT JOIN中沒(méi)有右表的匹配記錄,一個(gè)所有列設(shè)置為NULL的行被用于右表。你可以使用這個(gè)事實(shí)指出表中在另一個(gè)表中沒(méi)有對(duì)應(yīng)記錄的記錄:
mysql> select table1.* from table1
LEFT JOIN table2 ON table1.id=table2.id
where table2.id is NULL;
這個(gè)例子找出在table1中所有的行,其id值在table2中不存在(即,所有table1中的在table2中沒(méi)有對(duì)應(yīng)行的行)。當(dāng)然這假定table2.id被聲明為NOT NULL。
USING (column_list)子句命名一系列必須存在于兩個(gè)表中的列。 例如一個(gè)USING子句:
A LEFT JOIN B USING (C1,C2,C3,...)
被定義成在語(yǔ)義上等同一個(gè)這樣的ON表達(dá)式:
A.C1=B.C1 AND A.C2=B.C2 AND A.C3=B.C3,...
2個(gè)表的NATURAL LEFT JOIN被定義為在語(yǔ)義上等同于一個(gè)有USING子句命名在兩表中存在的所有列的一個(gè)LEFT JOIN。
STRAIGHT_JOIN等同于JOIN,除了左表在右表之前被讀入,這能用于這些情況,聯(lián)結(jié)優(yōu)化器將表的順序放錯(cuò)了。
一些例子:
mysql> select * from table1,table2 where table1.id=table2.id;
mysql> select * from table1 LEFT JOIN table2 ON table1.id=table2.id;
mysql> select * from table1 LEFT JOIN table2 USING (id);
mysql> select * from table1 LEFT JOIN table2 ON table1.id=table2.id
LEFT JOIN table3 ON table2.id=table3.id;
回復(fù) 更多評(píng)論
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
|
||