sql三張表關聯查詢
可以參考下面的方法:
1、select * from 表1,表2,表3 where 表1.欄位=表2.欄位 and 表1.欄位=表3.欄位
2、select * from 表1 join 表2 on 表1.欄位=表2.欄位 and join 表3 on 表1.欄位=表3.欄位
如果沒有AND,前面就需要加括弧了。
(1)sql三張表關聯查詢擴展閱讀:
參考語句
創建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根據已有的表創建新表:
1、create table tab_new like tab_old (使用舊表創建新表)
2、create table tab_new as select col1,col2… from tab_old definition only
刪除新表
drop table tabname
2. SQL Server中三個表兩兩關聯 怎麼實現查詢急!!
select a.*
from 學員表 a
inner join 校區表 b on a.所在學校=b.所在學校
inner join 管理員表 c on b.區域=c.區域
where c.用戶名=@用戶名 and c.密碼=@密碼
注意:最好把登陸和列表查詢分開來做,因為無論是從安全還是程序實現的角度來看,都比較好。
查詢語句:
SELECT p.id, p.url, p.description, GROUP_CONCAT(f.`name`)
from tb_pic p, tb_pic_flag_link l, tb_flag f
where p.id = l.pic_id and l.flag_id=f.id GROUP BY p.id;
3. SQL資料庫同時查詢三個關聯表,把這三個表內容按條件順序顯示出來SQL怎麼寫
比如有三張表
dept部門表(dept_id,dept_name)、
emp_info(emp_id,emp_name,dept_id,role_id)用戶信息表、
emp_role(role_id,role_name)管理表
dept部門表的dept_id等於emp_info用戶信息表dept_id,
而emp_role管理表的role_id等於emp_info用戶信息表role_id
如果想查用工的部門名dept_name、姓名emp_name和職務名role_name並按員工ID排序
那隻能連接三個表,語句如下
select dept.dept_name,emp_info.emp_name,emp_role.role_name
from dept join emp_info e
on dept.dept_id=emp_info.dept_id
join emp_role
on emp_info.role=emp_role.role_id
order by emp_info.emp_id ;
4. sql多表聯合查詢,3張表
sql中多表聯合查詢:
創建表:
A表欄位和數據舉例:
部門 客戶編號 訂單號
======================
部門1 1001 號碼1
部門2 1001 號碼2
部門3 1002 號碼3
B表欄位和數據舉例:
部門 分公司
==============
部門1 分公司1
部門2 分公司1
部門4 分公司4
C表欄位和數據舉例:
分公司機構 客戶編號 客戶名稱
================================
分公司1 1001 客戶1
分公司1 1001 客戶1
分公司2 1003 客戶3
聯合查詢語句:
select a.部門,a.客戶編號,c.客戶名稱,a.訂單號,b.分公司機構 from
A as a left join B as b
on a.部門=b.部門
left join C as c
on a.客戶編號=c.客戶編號