SELECT * FROM 테이블명 WHERE 조건식1 AND 조건식2;
SELECT * FROM 테이블명 WHERE 조건식1 OR 조건식2;
mysql> SELECT * FROM sample24 WHERE no = 1 OR 2;
mysql> SELECT * FROM sample24 WHERE no = 1 OR no = 2;
첫번째 식을 보면 no가 1이거나 2인 행을 얻을 수 있을 것 같지만 그러기 위해서는 두번째 식을 사용해야 하며 첫번째 식에서는 OR 뒤의 2가 항상 참이 되므로 모든 행을 반환하게 된다.
mysql> SELECT * FROM sample24 WHERE a <> 0 AND b <> 0;
mysql> SELECT * FROM sample24 WHERE a=1 OR a=2 AND b=1 OR b=2;
mysql> SELECT * FROM sample24 WHERE (a=1 OR a=2) AND (b=1 OR b=2);
‘a<>0 AND b<>0’이라는 식은 ‘a가 1 또는 2이고 b가 1 또는 2이다’와도 같은 뜻이 된다. 두번째 문장을 a=1 OR a=2 AND b=1 OR b=2
로 할 경우 결과는 다르게 나온다. 그 이유는 AND가 OR보다 우선순위가 높아 먼저 계산하게 되기 때문이다. a=2 AND b=1을 먼저 계산한 후, 그 결과를 OR로 a=1, b=2로 연결하여 계산하게 된다.
mysql> SELECT * FROM sample24 WHERE NOT(a<>0 OR b<>0);