內連接與外連接

在SQL聯機叢書裏查的如下:
僅當至少有一個同屬於兩表的行符合聯接條件時,內聯接才返回行。內聯接消除與另一個表中的任何行不匹配的行。而外聯接會返回 FROM 子句中提到的至少一個表或視圖的所有行,只要這些行符合任何 WHERE 或 HAVING 搜索條件。將檢索通過左向外聯接引用的左表的所有行,以及通過右向外聯接引用的右表的所有行。完整外部聯接中兩個表的所有行都將返回。
引用
LEFT OUTER JOIN 或 LEFT JOIN
RIGHT OUTER JOIN 或 RIGHT JOIN
FULL OUTER JOIN 或 FULL JOIN
搜索中應用到的是手機網的book_searchto.asp頁面
以下代碼用到的技術點:左聯接,複合查詢,利用隱藏域傳值實現分頁,也簡化了分頁程序!
引用
format=request("format")
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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章