欢迎讨论这个问题的sql实现,讨论就有!(100分)

  • 主题发起人 主题发起人 assassin
  • 开始时间 开始时间
A

assassin

Unregistered / Unconfirmed
GUEST, unregistred user!
有这样两个表

Table 1 ( id 是唯一编码 texts是内容 )
-----------------------------
id texts
-----------------------------
1 abcde
2 qwewqre
3 qweqweq
4 qweqwew
...
...


Table 2 ( sn 是标示 lookdi是查找的关键字 )
-----------------------------
sn lookid
-----------------------------
1 1
1 2
1 3
1 4
...
...

查找要求:
给出sn,在 table 2 中找出相符的sn的所有lookid
再用查得的lookid在 table 2 中找出相应的texts

这是一个简单的主/从关系,一般的查找方法我也能实现,请讨论一种效率较高的方法!

 
利用sql语句、:
select texts from table1,table2 where table2.sn='你给出的' and table2.lookid=table1.id
ok!!!
 
同意xujiancai的看法。
 
不知道在table2中加一个lookup字段来lookup table1的texts的内容是不是更快一点!!??
 
select texts from Table1 inner join table2
on table1.id=table2.id
where sn='你给出的'

please create index on "id"
 
select t1.texts from table1 t1, (select * from table2 where sn="你给出的') t2
where t1.id = t2.lookid没测试过,不只正确否。
 
select texts from Table1
where id in
(select lookid from Table2 where sn='你给出的')
 
To 212:
你这样的效率太低了,连接不应该先做,
select texts from Table1
where id in
(select lookid from Table2 where sn='你给出的'
 
xujiancai说得对,连接的效率比嵌套的低
 
agree with xujiancai
 
HI! steve,真高!
能告诉我你是怎么预知xujiancai的说法的吗?
 
想骗分可惜被xujiancai抢先了,
如果你希望大家开心的话也给个5分吧。
真的,我的想法和xujiancai一样。
 
来晚了!
同意刘素杰的方法!
 
To gwy adn To all:
其实我是第二个回答的,但后来我发现打错了字母,
就把他重新修改了,所以才出现Steve"同意xujiancai的看法。"
在我的前面,并非Steve预知我的的说法。
 
Select texts
From Table1
Where id in
(
Select lookid
From Table2
Where sn='给出的'
)
 
同意刘素杰的方法!
 
感谢大家,

btw:确实xujiancai是先给出答案的,我先看到的是xujiancai的,
sportsman的答案如何?

发分了,happy new term!
 
感谢大家,

btw:确实xujiancai是先给出答案的,我先看到的是xujiancai的,
sportsman的答案如何?

发分了,happy new term!
 
后退
顶部