【问题标题】:SQL - exists, join or in?SQL - 存在、加入还是加入?
【发布时间】:2014-07-15 00:56:16
【问题描述】:

我有 3 张桌子。 “期限”、“业绩”和“公司”。 TERM 表具有对 PERFORMANCE.ID 的引用,而 PERFORMANCE 具有对 COMPANY.ID 的外键。我如何才能获得只有表演,其中有:

terms >= now and not null
and only from specific company

╔════════════╦════╦═════════════╦════╦═════════╗
║ TERM       ║    ║ PERFORMANCE ║    ║ COMPANY ║
║ ========== ║ -> ║ =========== ║ -> ║ ======= ║
║ start_date ║    ║ price       ║    ║ name    ║
║ ...        ║    ║ ...         ║    ║ ...     ║
╚════════════╩════╩═════════════╩════╩═════════╝

【问题讨论】:

标签: sql join exists


【解决方案1】:
SELECT *
FROM Perfomance a 
INNER JOIN Term b on a.XX = b.XX
INNER JOIN Company c on a.XX = c.XX
where
C.Name = ' '

【讨论】:

    【解决方案2】:

    试试这个:

    SELECT T.start_date, P.price, C.name  
    FROM PERFORMANCE P JOIN
         COMPANY C ON P.COMPANY.ID=C.ID JOIN
         TERM T ON T.PERFORMANCE.ID=P.ID
    

    尝试详细了解JOINs。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-08
      • 2011-07-15
      • 1970-01-01
      • 2012-11-08
      • 2013-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多