Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Choose your favourite version:</p> <p><a href="http://sqlfiddle.com/#!5/6169b/9" rel="noreferrer">http://sqlfiddle.com/#!5/6169b/9</a></p> <h2>using temporary table</h2> <pre><code>CREATE TEMPORARY TABLE pair (a INTEGER, b INTEGER); INSERT INTO pair (a, b) VALUES (1, 1); INSERT INTO pair (a, b) VALUES (2, 2); .... </code></pre> <p>data IN pairs; if pair(a,b) is not unique</p> <pre><code>SELECT * FROM data WHERE EXISTS ( SELECT NULL FROM pair WHERE pair.a = data.a AND pair.b = data.b ); </code></pre> <p>data IN pairs; if pair(a,b) is unique</p> <pre><code>SELECT data.* FROM data INNER JOIN pair ON pair.a = data.a AND pair.b = data.b; </code></pre> <p>data NOT IN pairs; if pair(a,b) is unique</p> <pre><code>SELECT data.* FROM data LEFT JOIN pair ON pair.a = data.a AND pair.b = data.b WHERE pair.a IS NULL OR pair.b IS NULL; </code></pre> <h2>using inline table</h2> <p>data IN pairs; if pair(a,b) is not unique</p> <pre><code>SELECT * FROM data WHERE EXISTS ( SELECT NULL FROM ( SELECT 1 AS a, 1 AS b UNION ALL SELECT 2 AS a, 2 AS b UNION ALL SELECT 3 AS a, 3 AS b ) AS pair WHERE pair.a = data.a AND pair.b = data.b ); </code></pre> <p>data IN pairs; if pair(a,b) is unique</p> <pre><code>SELECT data.* FROM data INNER JOIN ( SELECT 1 AS a, 1 AS b UNION ALL SELECT 2 AS a, 2 AS b UNION ALL SELECT 3 AS a, 3 AS b ) AS pair ON pair.a = data.a AND pair.b = data.b; </code></pre> <p>data NOT IN pairs; if pair(a,b) is unique</p> <pre><code>SELECT data.* FROM data LEFT JOIN ( SELECT 1 AS a, 1 AS b UNION ALL SELECT 2 AS a, 2 AS b UNION ALL SELECT 3 AS a, 3 AS b ) AS pair ON pair.a = data.a AND pair.b = data.b WHERE pair.a IS NULL OR pair.b IS NULL; </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload