agrupación IN statement sql

Digamos que tengo una tabla llamada table1 y sus columnas correspondientes son col1, col2, col3 y col4, por ejemplo.

lo que será lo equivalente a hacer:

-- note that the following query will not work SELECT * FROM table1 WHERE col1, col2 IN (SELECT col1, col2 FROM table1 WHERE col3 < 4) 

¿Debo fusionar col1 y col2 en mi database para que esto funcione? Si combino col1 y col2 en col1_2, podré hacer que la consulta anterior funcione escribiendo:

 SELECT * FROM table1 WHERE col1_2 IN (SELECT col1_2 FROM table1 WHERE col3 < 4) 

La cláusula IN funciona bien cuando se usa una columna. Sería bueno si pudiera usarlo con varias columnas sin tener que modificar la database.

 SELECT * from table1 t1, table1 t2 where t1.col1=t2.col1 and t1.COl2=t2.Col2 and t1.col3<4 

testing este

Equivalente a lo que mostró es:

 SELECT * FROM table1 tb1 WHERE EXISTS ( SELECT * FROM table1 tb2 WHERE tb1.col1 = tb2.col1 and tb1.col2 = tb2.col2 and tb2.col3 < 4 ) 

Sin embargo, esta consulta no tiene mucho sentido ya que es equivalente a

 SELECT * FROM table1 tb1 WHERE tb2.col3 < 4 

Solo asumo que el ejemplo que muestra no está bien pensado.