僅當至少有一個同屬於兩表的行符合聯接條件時,內聯接才返回行。內聯接消除與另一個表中的任何行不匹配的行。而外聯接會返回 FROM 子句中提到的至少一個表或視圖的所有行,只要這些行符合任何 WHERE 或 HAVING 搜索條件。將檢索通過左向外聯接引用的左表的所有行,以及通過右向外聯接引用的右表的所有行。完整外部聯接中兩個表的所有行都將返回。
RIGHT OUTER JOIN 或 RIGHT JOIN
FULL OUTER JOIN 或 FULL JOIN
以下代碼用到的技術點:左聯接,複合查詢,利用隱藏域傳值實現分頁,也簡化了分頁程序!
cnname=request("cnname")
version=request("version")
sql1 = "select * from (select ap.*, am.format AS format from appl ap left OUTER JOIN appl_mobile am ON ap.id=am.appl_id) aa where pass=1"
if format<>"" then sql1 = sql1&" and aa.format='"&format&"'"
if cnname<>"" then sql1 = sql1&" and aa.cnname like '%"&cnname&"%' or aa.enname like '%"&cnname&"%'"
if version<>"" then sql1 = sql1&" and aa.version like '%"&version&"%'"
sql1 = "SELECT DISTINCT bb.id, bb.cnname,bb.version,bb.appcate_id,bb.dlcount,bb.user_name from ("&sql1&") bb order by bb.id desc"
if request("subselect")<>"" then '如果不爲空,則視爲有查詢條件
Session("Game_SearchSql") = sql1
else '如果爲空,則視爲沒輸入條件,則將SQL值賦給Session變量,以便分頁時查找.
if Session("Game_SearchSql")=null or Session("Game_SearchSql")="" then '如果Session變量值爲空,則視爲沒輸入查詢條件
Session("Game_SearchSql") = sql1
else '不爲空,則視爲用分頁查找,
sql1 = Session("Game_SearchSql")
end if
end if