日期:2014-05-16  浏览次数:20806 次

用两个表做为条件查询第三个表的SQL语句
表A有ID字段,NAME字段
表B有ID字段,NAME字段
表C有ID字段,AID字段,BID字段
表C的AID字段与表A的ID字段对应
表C的BID字段与表B的ID字段对应
现在想要根据表A的name like '%%' 和表B的name like'%%'的条件
查找找出表C中的数据
这个SQL语句应该怎么写,最好是用JOIN操作的

------解决方案--------------------
SQL code

--第一种
select C.AID,A.NAME,C.BID,B.NAME from C
join A on A.ID=C.AID and A.name like '%%'
join B on B.ID=C.BID and B.name like '%%'
--第二种
select C.AID,A.NAME,C.BID,B.NAME from C
join A on A.ID=C.AID 
join B on B.ID=C.BID 
where A.name like '%%'
and B.name like '%%'

------解决方案--------------------
貌似是最基础的连接查询 参考LS
------解决方案--------------------
也许用exists效率稍高
------解决方案--------------------
探讨
SQL code


--第一种
select C.AID,A.NAME,C.BID,B.NAME from C
join A on A.ID=C.AID and A.name like '%%'
join B on B.ID=C.BID and B.name like '%%'
--第二种
select C.AID,A.NAME,C.BID,B.NAME from C
join……