你是要查前十個查詢結果中相同的那些記錄,而不求前十個相同記錄吧,因為這是有差別的,按照你的語句,應該是求前者,即先求出A的前十條數據,B的前十條數據,再求它們的交集。
創新互聯服務項目包括朝天網站建設、朝天網站制作、朝天網頁制作以及朝天網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,朝天網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到朝天省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!
既然是求交集,那么這兩個表的關系模式應該是相同的了,
select a.* from
(select * from table order by table.a desc limit 10) as a, (select * from table order by table.b desc limit 10) as b
where a.primary_key = b.primary_key --先將兩個結果作為兩張臨時表,然后通過主鍵 primary_key來獲取交集(交集肯定就是主鍵相等的了,因為關系模式相同)
select * from table1 t where t.a10 or t.b20
and id not in (select id from table1 m where m.a20 and m.b20)
可以使用左連接left join
select A.學號,A.姓名,B.成績 from
A left join B on A.學號=B.學號;
mysql這垃圾不支持交集的。如果是數據庫那么SQL如下SELECT id FROM a WHERE aid=5 INTERSECTSELECT id FROM a WHERE aid=6
在PHP中求數組的交集,我們可以與PHP給我們提供的現成函數:array_intersect(),其用法格式為:
array array_intersect(array array1,array array2[,arrayN…])
根據上述的語法格式,我們來寫一個例子:
1 ?php
2 $fruit1 = array("Apple","Banana","Orange");
3 $fruit2 = array("Pear","Apple","Grape");
4 $fruit3 = array("Watermelon","Orange","Apple");
5 $intersection = array_intersect($fruit1, $fruit2, $fruit3);
6 print_r($intersection);
7 // 輸出結果:
8 // Array ( [0] = Apple )
9 ?
本例子將返回在$fruit1數組中出現且在$fruit2和$fruit3中也出現的所有水果的名子。
使用array_intersect()函數時要注意:只有在兩個元素相等且具有相同的數據類型時,array_intersect()函數才會認
為它們是相同的,否則不能進行交集計算。array_intersect()函數返回一個保留了鍵的數組,只由第一個數組中出現的且在其它數組中都出現的
值組成。
若要求關聯數組的交集,請使用array_intersect_assoc()函數,給你個簡單的例子:
1 ?php
2 $fruit1 = array("red"="Apple","yellow"="Banana","orange"="Orange");
3 $fruit2 = array("yellow"="Pear","red"="Apple","purple"="Grape");
4 $fruit3 = array("green"="Watermelon","orange"="Orange","red"="Apple");
5 $intersection = array_intersect_assoc($fruit1, $fruit2, $fruit3);
6 print_r($intersection);
7 // 輸出:
8 // Array ( [red] = Apple )
9 ?
array_intersect_assoc()函數語法格式如下:
array array_intersect_assoc(array array1,array array2[,arrayN…])
array_intersect_assoc()與array_intersect()基本相同,只不過他在比較中還考慮了數組的鍵。因此,只有在第一個數組中出現,且在所有其他輸入數組中也出現的鍵/值對才返回到結果數組中。
USE S2
假如 S2 與 S1 2個數據庫, 沒有交集,那么直接執行:
INSERT INTO DATA
SELECT * FROM S1.DATA;
假如 S2 與 S1 2個數據庫, 有交集( 主鍵是 id ),那么執行:
INSERT INTO DATA
SELECT * FROM S1.DATA AS s1data
WHERE s1data.id NOT IN ( SELECT id FROM DATA)
新聞名稱:mysql交集合怎么寫,MySQL 交集
文章出自:http://vcdvsql.cn/article8/hsdcop.html
成都網站建設公司_創新互聯,為您提供品牌網站制作、網站改版、用戶體驗、域名注冊、網站導航、移動網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯