DBeaver - MySQL 로 진행합니다.
데이터 필터링
언제? 데이터 특정 행을 필터링할 때 사용됩니다.
- 필터링: WHERE
- 등호: >, <, =, !=, BETWEEN A AND B
- 부정 등호: NOT, !=
- 이때, NOT은 WHERE 옆에 사용됨
Q. product 테이블에서 가격이 5000이상인 행을 출력
$ SELECT * FROM product WHERE 가격 > 5000
Q. 5000이상 이고 8000 이하인 행 출력
$ SELECT * FROM product WHERE 가격 BETWEEN 5000 AND 8000
Q. product 테이블에서 가격이 5000이상이 아닌인 행을 출력
$ SELECT * FROM product WHERE NOT 가격 = 5000
$ SELECT * FROM product WHERE 가격 != 5000
조건식 자리에는 컬럼명 = 값 이런 식으로 넣을 수 있는데 등호, 부등호 이용가능합니다.
이때, 컬럼명에는 따옴표 안써도 되는데 '문자' 값은 따옴표 안에 적어야합니다.
여러개 데이터 필터링
- AND, OR 를 통해서 여러개 데이터를 필터링 할 수 있습니다.
- 순서에 따라서 필터링이 됩니다.
- 여러개의 조건식일 경우, 먼저 실행할 곳에 ( )로 묶을 수 있습니다.
Q. product 테이블에서 카테고리가 옷이거나 가구이고 가격이 5000이상인 행을 출력
$ SELECT * FROM product WHERE (카테고리 = '옷' OR 카테고리 = '가구') AND 가격 > 5000;
- 동일한 열에 여러 조건이 있다면(OR 연산자), IN 연산자로 처리할 수 있습니다.
- OR로 할 수 있지만, IN 연산자 활용하면 처리 속도 업 (크게 차이는 없는데.. 가독성 귣)
Q. product 테이블에서 카테고리가 옷이거나 가구이거나 신발인 행을 출력
$ SELECT * FROM product WHERE 카테코리 = '옷' OR 카테코리 = '가구' OR 카테코리 = '신발');
$ SELECT * FROM product WHERE 카테코리 IN ('옷', '가구', '신발');
Q. 가격이 3000원 미만이거나 6000원 초과인 상품 출력
- SELECT * FROM product WHERE 가격 < 3000 OR 가격 > 6000
- SELECT * FROM product WHERE 가격 NOT BETWEEN 3000 AND 6000 ** 이것도 가능!!
+ 쿼리 종료에는 세미콜론(;)을 해주는 것이 좋은 관습입니다.
'📁 Back-end & 👩🏻💻 > Database' 카테고리의 다른 글
[DB] SQL&Database 끝내기 - LIKE, %, _ 연산자 (5) (1) | 2024.12.20 |
---|---|
[DB] MySQL 데이터 조작(SQL SELECT, ORDER BY) (3) (0) | 2024.12.19 |
[DB] SQL&Database 끝내기 - MySQL 테이블 만들기 (2) (0) | 2024.12.19 |
[DB] SQL&Database 끝내기 - DBeaver 설치 및 MySQL 연동 with Mac (1) (0) | 2024.12.19 |
[RDBMS] MySQL 터미널로 접속하기, 비밀번호 변경 (0) | 2024.11.05 |