[포스코x코딩온] 스마트팩토리 개발자 과정 데이터베이스 2주차 회고 | SELECT문 (1)

박지원·2023년 3월 9일
0

SELECT문

앞서 공부했던 '데이터조작어(DML)'중 하나인 SELECT문은 데이터 검색하는 기본문장이며, SQL에서 가장 많이 사용되는 문법이다. 기본적인 형태는 다음과 같다.

위 그림에서 볼 수 있듯이 다양한 검색조건을 명령어로 설정할 수 있다. FROM으로 검색테이블 설정, SELECT로 보여질 속성컬럼 설정, WHERE 문 등으로 상세 검색조건을 설정하게 된다. 상세 검색조건에 관한 문법은 아래 절부터 다루도록 하겠다.

와일드카드(*,%,_)와 DISTINCT

가장 먼저 살펴볼 것은 와일드 카드에 대한 문법이다. 와일드카드란 문자열의 다른 문자를 대체하는데 사용된다.

  • 별표 는 ALL의 뜻을 가진다
    예시) SELECT * FROM user: user 테이블에 있는 모든 속성컬럼을 출력
  • %는 해당위치에 있는 0개이상의 문자를, 아래밑줄은 해당위치에 있는 문자 하나를 의미
    예시1) WHERE name LIKE 'a%' : a로 시작하는 모든값
    예시2) WHERE name LIKE '_r%': 두번째 인덱스에 r이 있는 모든값

DISTINCT문은 검색할때 중복된 행이 검색되지 않게 하는 문법이다.

WHERE 문

검색조건을 설정하는 문법이며, 비교연산자(=,>=,<=,>,<), 부정연산자(!=,NOT~), BETWEEN, IN(list), LIKE (비교문자열), IS NULL(NULL일경우 참) 등의 조건을 쓴다. 기본적인 AND, OR 연산자도 적용된다. 앞서 살펴봤던 와일드카드 등이 여기서 자주 사용된다.

생각해볼점: LIKE와 =

WHERE age LIKE 20과 WHERE age=20은 둘다 잘 작동하는 예시이다. 그러나 WHERE name='_b%'는 동작하지 않지만 WHERE name LIKE '_b%'는 동작한다!. 즉, LIKE 는 equal의 의미도 내포하지만 equal은 그렇지 못하다.

0개의 댓글