Tuesday, September 15, 2009

Interesting IN clause

This is cool use of IN clause.

SQL>

SQL> CREATE TABLE t (a NUMBER, b NUMBER, c NUMBER, d NUMBER);

Table created.

SQL> DESC t
 Name                            Null?    Type
 ------------------------------- -------- ----
 A                                        NUMBER
 B                                        NUMBER
 C                                        NUMBER
 D                                        NUMBER

SQL> INSERT INTO t VALUES (1,2,3,4);

1 row created.

SQL> INSERT INTO t VALUES (5,6,7,8);

1 row created.

SQL> INSERT INTO t VALUES (1,4,5,6);

1 row created.

SQL> INSERT INTO t VALUES (1,6,7,8);

1 row created.

SQL> SELECT * FROM t WHERE 1 IN (a,b,c,d);

         A          B          C          D
---------- ---------- ---------- ----------
         1          2          3          4
         1          4          5          6
         1          6          7          8

SQL> SELECT * FROM t WHERE 3 IN (a,b,c,d);

         A          B          C          D
---------- ---------- ---------- ----------
         1          2          3          4

SQL> SELECT * FROM t WHERE 5 IN (a,b,c,d);

         A          B          C          D
---------- ---------- ---------- ----------
         5          6          7          8
         1          4          5          6

SQL>

No comments: