mysql這方面的資料比較少,手邊的專案用到了多表的聯合查詢,乾脆備忘下來。
select a.*,b.*,c.* from a inner join b on a.cid=b.cid inner join c on c.cid=a.cid where a.cid=2 and a.id =3
select e_link.link_id, e_link.l_name, e_link.url, e_link.pic_url, e_link.order_id as l_order_id, e_link.font_color,inner join 運算 組合兩個表中的記錄,只要在公共字段之中有相符的值。 語法e_linkclass.name, e_linkclass.order_id as c_order_id
from `e_link`
join `e_linkclass` on e_link.c_id = e_linkclass.id
and e_link.c_id =1
limit 0 , 30
from table1 inner join table2 on table1.field1 compopr table2.field2inner join 運算可分為以下幾個部分: 部分 說明 table1, table2 記錄被組合的表的名稱。 field1, field2 被聯接的字段的名稱。若它們不是由數字構成的,則這些字段必須為相同的資料型別幷包含同類資料,但它們無須具有相同的名稱。 compopr 任何的關係比較運運算元:"=," " select categoryname, productname from categories inner join products on categories.categoryid = products.categoryid;在上面的示例中,類識別符號是已被聯接的字段,但是它並不包含在查詢輸出中,因它並非被包含在 select 語句之中。在這個示例中,若要包含聯接字段,將欄位名包含在 select 語句中, categories.categoryid. 也可以使用下列語法,在乙個 join 語句中鏈結多個 on 子句:
select fields也可以使用下列語法,巢狀 join 語句:from table1 inner join table2
on table1.field1 compopr table2.field1 and
on table1.field2 compopr table2.field2) or
on table1.field3 compopr table2.field3)];
select fields在乙個 inner join 之中,可以巢狀 left join 或 right join,但是在 left join 或 right join 中不能巢狀 inner join。from table1 inner join
(table2 inner join [( ]table3
[inner join [( ]tablex [inner join ...)]
on table3.field3 compopr tablex.fieldx)]
on table2.field2 compopr table3.field3)
on table1.field1 compopr table2.field2;
mysql多表聯合查詢
我在工作中天天研究zen cart的程式,那個叫人痛苦,最近比較痛苦的是經常碰見mysql多表聯合查詢,多的時候有12個表聯合查詢,zen cart的程式設計師不知道是懶還是技術好,乙個語句完成啦20幾個功能模組需要的資料,我修改就痛苦的很 我只會select from table where id...
mysql多表聯合查詢
mysql多表聯合查詢操作,3個表以上操作的sql語句 from語句是表選擇語句,需要選擇多個表的時候,用逗號 來分割所選的表。還可以用join語句來定義結合條件。表的別名 選擇的表可以取別名,在下面的例子中,from所選擇的表名後用空格來分割別名 例子1 將表foo取別名 t1,將表bar 取別名...
mysql多表聯合查詢
建立表a插入資料 create table a id int 11 primary key,name varchar 6 not null age int 4 notnull insert into a values 1 111 20 insert into a values 2 222 20 in...