Sql:从其他表中选择

时间:2015-06-11 15:37:50

标签: mysql sql database join foreign-keys

我有2张桌子。球员和统计。玩家有以下字段:姓名,年龄,DOB和SSN。统计数据包括:Tackles,Goals,Assists和SSN。 SSN是外键。如何编写查询以查找DOB> ='1994'的玩家统计数据。 DOB不是外键,我想知道它是如何工作的。

3 个答案:

答案 0 :(得分:3)

这是一个简单的Join命令。

SELECT * FROM Stats 
INNER JOIN Player
On Player.SSN = Stats.SSN
WHERE DOB > 1994

这里有一个问题,但是你暗示DOB是一个字符串,而不是具有这些引号的日期时间或整数。你不能将字符串比作你想要做的数字。如果DOB只是一年,例如1994年,然后DOB >= 1994将起作用,如果它是datedatetime,则需要使用Datetime个等效项。

答案 1 :(得分:1)

SELECT * FROM Player INNER JOIN Stats ON Player.SSN = Stats.SSN WHERE Player.DOB >= '1994-01-01'

如果您只想要特定字段,请指定这些字段而不是SELECT *

答案 2 :(得分:1)

select player.name, stats.tackles, stats.goals, stats.assists
from player inner join stats on player.ssn = status.ssn
where year(player.dob) >= 1994