【问题标题】:How to do a right outer join in MySQL? [duplicate]如何在 MySQL 中进行右外连接? [复制]
【发布时间】:2015-06-05 19:23:17
【问题描述】:
'SELECT * FROM (SELECT * FROM t1
          RIGHT OUTER JOIN t2 ON t1.wid = t2.wid
          WHERE t2.wid IS NULL)
          LIMIT ' . $number;

这个 SQL 行没有给出一行,我不知道原因。 t1 充满了行,而 t2 是一个空表。

【问题讨论】:

  • 因为您正在执行Right outer join,而该表中没有数据。如果您想从 table1 中获取所有行,请执行 Left outer Join
  • 我必须离开?离开它也不起作用

标签: mysql sql database drupal right-join


【解决方案1】:

鉴于您需要执行LEFT OUTER JOIN 来检索t1 中的行

在进行外部选择之前,您还需要避免内部结果中出现重复的列名,例如 SELECT t1.*

此外,您可能需要在内部选择中为派生表提供别名,例如 t3 ...

SELECT t3.* FROM (
    SELECT t1.* FROM t1
    LEFT OUTER JOIN t2 ON t1.wid = t2.wid
    WHERE t2.wid IS NULL)
AS t3;

【讨论】:

  • t3 是赋予内部选择结果的任意表别名,然后用于引用外部选择的中间结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-14
  • 2011-12-31
  • 2019-07-15
  • 2017-05-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多