Mysql&DBeaver

DBeaver)SQL WHERE로 데이터 필터링하기

연습노트 2024. 8. 13. 23:48

product.csv
0.00MB

 

▲ 오늘은 데이터를 좀 많이 넣어두고 수업을 진행해봅시다. 

직접 적어도 되는데 귀찮으면 강의하단 파일 다운받아서 DBeaver에서 불러오면 됩니다. 

 

csv 파일을 테이블에 불러오려면

0. 기존 데이터는 전부 드래그해서 삭제 & 저장

1. 왼쪽 파일트리에서 테이블에 우클릭 - 데이터 가져오기

2. 'csv에서 가져오기' 클릭 후 csv 파일 업로드하기 

 

 

 

▲ 3. 한글 들어있는 데이터의 경우 인코딩부분을 euc-kr로 변경해야 안깨집니다. 

4. 그럼 파일명과 동일한 이름으로 테이블을 하나 생성해서 데이터를 담아줍니다. 

(그래서 기존에 동일한 이름의 테이블이 있으면 지우고 하는게 좋음)

 

[collapse]

 

 

 

 

원하는 행만 필터링 할 수 있는 WHERE 문법 

 

출력되는 행이 너무 많다면 

WHERE 문법을 뒤에 붙여서 원하는 조건으로 필터링할 수 있습니다. 

 

 

SELECT 컬럼명 FROM 테이블명 WHERE 조건식

WHERE 뒤에 조건식을 입력하면 그거와 일치하는 행만 보여줍니다. 

조건식 자리에는 컬럼명 = 값 이런 식으로 넣을 수 있는데

등호, 부등호 이런 것들을 전부 이용가능합니다. 

 

 

 

SELECT * FROM product WHERE 카테고리 = '가구'

이러면 카테고리 컬럼 값이 '가구' 인 행만 필터링해줍니다.

컬럼명에는 따옴표 안써도 되는데 '문자' 값은 따옴표 안에 적어야합니다. 

 

 

 

 

▲ 진짜 가구만 나오나 확인해봅시다. 선생님 말을 믿으면 안됩니다. 

 

 

 

 

 

SELECT * FROM product
WHERE 가격 > 50000 

>, <, =, != 이런거 다 됩니다. != 는 같지않다는 소리입니다.

- 크거나 같다를 표현하고 싶으면 >=, <= 이렇게 등호를 오른쪽에 씁니다.

- 문자값 표현할 땐 '어쩌구' 이렇게 따옴표 써야하지만 숫자는 따옴표 필요없음 

- SQL 작성시 중간중간 엔터쳐도 상관없습니다

 

영어숙련자라면 where 라는 단어 보면 자연스럽게 "조건식쓰는 부분이구나~" 가 떠오르는데

토종 한국인은 그런 느낌을 받을 수가 없으니까 

그냥 where 조건식 쓰면 행 필터링 된다고 외워가면 됩니다. 

 

 

 

 

 

 

SELECT * FROM product
WHERE 가격 BETWEEN 5000 AND 8000 

가격이 5000이상 8000이하 이런걸 필터링하고 싶으면 컬럼명 BETWEEN X AND X 쓰면 됩니다.

X이상 & X이하를 표현하는 문법이라

위 코드에서는 가격이 딱 5000, 8000인 상품도 포함됩니다. 

다음 시간인 조건식이 여러개인 경우 어떻게 사용하는지 알아봅시다.