在SQL联机丛书里查的如下:
仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回 FROM 子句中提到的至少一个表或视图的所有行,只要这些行符合任何 WHERE 或 HAVING 搜索条件。将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。
搜索中应用到的是手机网的book_searchto.asp页面
以下代码用到的技术点:左联接,复合查询,利用隐藏域传值实现分页,也简化了分页程序!
仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回 FROM 子句中提到的至少一个表或视图的所有行,只要这些行符合任何 WHERE 或 HAVING 搜索条件。将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。
引用
LEFT OUTER JOIN 或 LEFT JOIN
RIGHT OUTER JOIN 或 RIGHT JOIN
FULL OUTER JOIN 或 FULL JOIN
RIGHT OUTER JOIN 或 RIGHT JOIN
FULL OUTER JOIN 或 FULL JOIN
以下代码用到的技术点:左联接,复合查询,利用隐藏域传值实现分页,也简化了分页程序!
引用
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
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