高手都来试试

DiscussQuestions 2009-03-25 07:01:03
有两张表
No1表:有5个字段(id,A,B,C,Fid)
No2表:有4个字段(id,a,b,c)
其中No2表中的id是No1表中Fid的外键

问题:查询出No1表中的id,A,B,Fid,以及No2表中的id,a,c
查询条件:No1表中的 C = "张三" ,No2表中的 b = "李四"

大前提:用最优化的查询方式查询
...全文
102 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
rucypli 2009-04-05
  • 打赏
  • 举报
回复
select T1.*,T2.*
from
(
select *
from no1
where c='张三'
)T1,
(
select *
from no2
where b='李四'
)T2
where T1.fid=T2.id



梦无痕123 2009-04-04
  • 打赏
  • 举报
回复
up
fengjinhua999 2009-04-03
  • 打赏
  • 举报
回复
受教...
ljf_ljf 2009-04-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ACMAIN_CHM 的回复:]
SQL codeselecta.*,b.*fromno1 ainnerjoinno2 bona.fid=b.idwherea.c='张三'andb.b='李四'
[/Quote]

在 MySQL 上面这个应该是最优化的,表与表进行连接会比较快的。
happyonetwo 2009-04-02
  • 打赏
  • 举报
回复
SELECT *
FROM
(SELECT id,A,B,Fid FROM NO1 WHERE C='张三') TMP1 INNER JOIN (SELECT id,a,c FROM NO2 WHERE B='李四') TMP2
ON TMP1.FID=TMP2.ID;
百年树人 2009-03-25
  • 打赏
  • 举报
回复
select
a.*,'
b.*
from NO1 a,NO2 b
where a.fid=b.id
and a.C='张三' and b.b='李四'
老哥讲数据库 2009-03-25
  • 打赏
  • 举报
回复
SELECT TMP1.*,TMP2.* 
FROM
(SELECT * FROM NO1 WHERE C='张三') TMP1 INNER JOIN (SELECT * FROM NO2 WHERE B='李四') TMP2
ON TMP1.FID=TMP2.ID;
DiscussQuestions 2009-03-25
  • 打赏
  • 举报
回复
楼上的这种方式不是最优化的吧!~
呵呵~!
面试的技术经理总是摇头!~
ACMAIN_CHM 2009-03-25
  • 打赏
  • 举报
回复
select a.*,b.*
from no1 a inner join no2 b on a.fid=b.id
where a.c='张三' and b.b='李四'

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧