兩個表:分別是表a和表b
1.內連線:只返回滿足條件的資料
inner join 例項應用:select * from a inner join b on a.a1=b.b1
那麼我們會得到這樣的資料
2.外連線:
外連線又分左外連線和右外連線(左外連線,只返回滿足左表的資料【左表資料全部會顯示】;右外連線,只返回滿足右表的資料【右表資料全部會顯示】)
left join 例項應用: select * from a left join b on a.a1=b.b1
那麼我們會得到這樣的資料
right join例項應用:select * from a right join b on a.a1=b.b1
那麼我們會得到這樣的資料
3.完全連線:返回左表和右表所有資料
full join 例項應用: select * from a full join b on a.a1=b.b1
那麼我們會得到這樣的資料
4.笛卡爾積:又稱交叉連線,雖然沒有實際意義,但某些場景可能應用到
例項應用:select * from a,b
那麼我們會得到這樣的資料
5.總結:
兩表直接笛卡爾積的結果數量是兩表的資料量相乘
帶where條件id相等的笛卡爾積和inner join結果相同,但是inner join效率快一點
left join:test_a表的id為空時拼接test_b表的內容為空,right join則相反
full join:等於left join和right join的並
mysql遠端表 MySQL遠端表訪問設定
遠端的表在federated資料庫中並且被如下定義 create table test table id int 20 not null auto increment,name varchar 32 not null default other int 20 not null default 0 p...
mysql表的訪問方法
mysql執行查詢語句的時候,會有許多方式訪問表,總體分為以下兩大類 如果乙個查詢sql中包含多個索引,一般情況下,會選取使用索引返回的記錄少的那乙個,其他的過濾條件在返回完整使用者記錄時再進行過濾匹配。但特殊情況下,多個索引也會都使用 比如索引合併 具體來說有以下訪問表的方法 const 針對主鍵...
MySQL遠端表訪問設定
遠端的表在federated資料庫中並且被如下定義 create table test table id int 20 not null auto increment,name varchar 32 not null default other int 20 not null default 0 p...