假設(shè)只有一個(gè)table,名為pages,有四個(gè)字段,id, url,title,body。里面儲(chǔ)存了很多網(wǎng)頁(yè),網(wǎng)頁(yè)的url地址,title和網(wǎng)頁(yè)的內(nèi)容,然后你用一個(gè)sql查詢將url匹配的排在最前, title匹配的其次,body匹配最后,沒(méi)有任何字段匹配的,不返回。
代碼如下
select a.[id],a.mark from
(
select [page].[id],100 as mark from [page] where [page].[url] like '%baidu%'
union
select [page].[id],50 as mark from [page] where [page].[title] like '%baidu%'
union
select [page].[id],10 as mark from [page] where [page].[body] like '%baidu%'
) as a order by mark desc
用union 實(shí)現(xiàn)聯(lián)合查詢,在每個(gè)查詢語(yǔ)句中定義一個(gè)臨時(shí)變量mark 并給mark賦值,在最后的輸出時(shí)采用mark來(lái)排序,這樣實(shí)現(xiàn),非常簡(jiǎn)單,我感覺(jué)這題更多考研我們的編程思想。
代碼如下








用union 實(shí)現(xiàn)聯(lián)合查詢,在每個(gè)查詢語(yǔ)句中定義一個(gè)臨時(shí)變量mark 并給mark賦值,在最后的輸出時(shí)采用mark來(lái)排序,這樣實(shí)現(xiàn),非常簡(jiǎn)單,我感覺(jué)這題更多考研我們的編程思想。