我有两张桌子:
Table A: Table B:
SNo Name SNo Name Std Talent
1 Amy 1 Amy 2 Soccer Wonderkid
2 Andy 2 Andy 3 Street Dance Pro
3 Ben 3 Asa 4 Kung-Fu Master
4 Ben 2 Nerd King
5 Chris 4 Hacker Overlord
查询1:如何使用单个SQL语句(必要时嵌套)为表A中具有条目的孩子选择表B中的行?
查询2:这个很傻,但是在JDBC中是否可以正确接受/处理对查询1的响应?
答案 0 :(得分:1)
我不确定密钥是SNo
还是Name
,因此查询将是
SELECT b.*
FROM tableA a
LEFT JOIN tableb b
ON a.name = b.name
或
SELECT b.*
FROM tableA a
LEFT JOIN tableb b
ON a.sno = b.sno
答案 1 :(得分:0)
查询一个就像是
SELECT a.name, b.talent from a,b where a.SNo = b.SNo
也可能是:
SELECT a.name, b.talent from a,b where a.Name = b.Name
取决于两个表的实际键是什么。
回答问题2:为什么不呢? JDBC将任何查询传递给您的服务器,不应在内部干扰您的查询。
答案 2 :(得分:0)
如果SNo
是主键,
SELECT *
FROM B
WHERE SNo IN (SELECT SNo FROM A)
如果Name
是主键,
SELECT *
FROM B
WHERE Name IN (SELECT Name FROM A)
答案 3 :(得分:0)
在tableB.name = tableA.name
上从tableB内部连接tableA中选择tableB。*