大家在使用MySQL查詢時正常是直接一個表的查詢,要不然也就是多表的關(guān)聯(lián)查詢,使用到了左聯(lián)結(jié)(left join)、右聯(lián)結(jié)(right join)、內(nèi)聯(lián)結(jié)(inner join)、外聯(lián)結(jié)(outer join)。這種都是兩個表之間有一定關(guān)聯(lián),也就是我們常常說的有一個外鍵對應(yīng)關(guān)系,可以使用到 a.id = b.aId這種語句去寫的關(guān)系了。這種是大家常常使用的,可是有時候我們會需要去同時查詢兩個或者是多個表的時候,這些表又是沒有互相關(guān)聯(lián)的,比如要查user表和user_history表中的某一些數(shù)據(jù),這個時候就是所謂的不關(guān)聯(lián)查詢了。
這時候用的是union all語句。比如:
| </pre> <pre class="html" name="code">(select name,sex,age from user where name like '王%' ) union all (select name,sex,age from user_history where name like '王%' ) ; |
這個語句是用來查詢用戶表以及歷史表中所有王姓的人員的信息。這個同樣是可以進(jìn)行排序、截取操作的,
| (select name,sex,age from user where name like '王%' ) union all (select name,sex,age from user_history where name like '王%' ) order by age desc limit 0,50; |
這個就是取得這兩個表中按年齡排序前50的人員了。
以上就是小編為大家?guī)淼臏\談mysql中多表不關(guān)聯(lián)查詢的實現(xiàn)方法全部內(nèi)容了,希望大家多多支持錯新站長站~
新聞熱點
疑難解答
圖片精選