簡體   English   中英

將OR添加到內部連接語句

[英]adding OR to an inner join statement

[TABLE1]

 +----------+-------------------+
 | USERNAME | POST              |
 +----------+-------------------+
 | Bob      | 'Hi There'        |
 | Jack     | 'Hello'           |
 | Bob      | 'Today is Monday' |
 +----------+-------------------+

 [TABLE2]

 +----------+-----------+
 | USERNAME | FOLLOWING |
 +----------+-----------+
 | Mike     | Jack      |
 | Jack     | Bob       |
 | Bob      | Jack      |
 | Jack     | Mike      |
 +----------+-----------+

我正在使用此連接語句:

 SELECT t1.* FROM TABLE1 t1 INNER JOIN table2 t2 
 ON t1.username = t2.following AND t2.username = 'jack';

這有效,但除了返回這些結果外,我還想添加“OR t1.USERNAME ='jack';

然后另一個OR ..有一種方法可以進行連接,但是還有一個OR語句

將這些條件放在where子句中

SELECT t1.* FROM TABLE1 t1
INNER JOIN table2 t2  ON t1.username = t2.following
where t2.username = 'jack'
OR t1.USERNAME = 'jack'

您應該在括號內指定多個OR條件:

SELECT t1.* 
FROM TABLE1 t1 
     INNER JOIN table2 t2  
         ON t1.username = t2.following 
            AND (t2.username = 'jack' OR t2.username = 'John' OR t2.username = 'Tom');

是的,你可以這樣做

 SELECT t1.* FROM TABLE1 t1 INNER JOIN table2 t2 ont1.colName1=t2.Colname2 where colname ='value' or colname='vaue1' or colname='value';

簡化方法

SELECT t1.* FROM TABLE1 t1 
INNER JOIN table2 t2  ON t1.username = t2.following 
where 'jack' in (t1.USERNAME,t2.username)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM