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.客户编号