使用Where子句

时间:2018-03-27 06:41:49

标签: sql join where

所以我对如何解决这个问题有疑问。

我有一个名为PAPER的表,它有一个PANUM和TITLE列,另一个名为AUTHOR的表有一个PANUM和ACNUM列,另一个名为ACADEMIC的表有一个ACNUM,GIVENNAME和FAMNAME列。

我需要从学术界'Mark'Yee'写的PAPER中获取所有的PANUM。只是想知道我是否有办法根据GIVENNAME和FAMNAME获取学术的ACNUM。

到目前为止,我有这个,

SELECT panum FROM AUTHOR, ACADEMIC
WHERE famname='Yee' AND givename='Mark'

2 个答案:

答案 0 :(得分:1)

使用JOIN您可以将ACNUM作为以下查询:

SELECT AUTHOR.panum,ACADEMIC.ACNUM  FROM AUTHOR
Inner Join 
ACADEMIC ON
AUTHOR.ACNUM = ACADEMIC.ACNUM 
WHERE famname='Yee' AND givename='Mark'

答案 1 :(得分:1)

使用Join。 您将从以下查询中成功获取ACNUM

SELECT ACNUM FROM ACADEMIC
WHERE famname='Yee' AND givename='Mark'

现在您需要稍微修改一下:

SELECT AU.PANUM,AC.ACNUM 
FROM ACADEMIC AS AC
INNER JOIN Author AS AU
ON AC.ACNUM = AU.ACNUM
WHERE famname='Yee' AND givename='Mark'

从上面,您将获得与给定作者相关联的所有PANUM

Join如何运作:

  

https://www.w3schools.com/sql/sql_join.asp