데이터 리터러시

[백문이불여일타] 데이터 분석을 위한 기초 SQL (3)

Cherryl 2024. 8. 4. 16:14

 

LIKE

LIKE절로 문자열의 패턴을 찾을 수 있다.

 

" 나는 앞 쪽에 무엇이 있든 상관없고 뒤 쪽에 무엇이 있어도 상관 없는데

r이라는 문자가 들어있는 country네임을 찾고싶어 "

IN

"프랑스랑 독일 국가 둘 다 보고싶어"

 

BETWEEN

BETWEEN이라는 것도 쓸 수 있는데

customerID가 3과 5 사이에 들어가는 결과값을 불러올 수 있다.

 

SELECT *
FROM Customers
WHERE CustomerID BETWEEN 3 AND 5

 

 

NULL

Null = Not a Number

데이터가 비어 있는 부분을 검색하기 위한 예약어

누군가 기록을 못하거나 비워둔 '비어있는 값'

SELECT *
FROM Customers
WHERE CustomerID IS NULL

 

유의) = NULL 이라 검색하면 검색이 되지 않는다.

 

와일드카드

%를 와일드 카드라 부른다.  검색할 문자열에서 %는 임의의 수의 문자를 의미한다.

간단히 말해서, %는 ‘뒤에 무엇이 와도 상관이 없다’일 때

 

값에 퍼센트 기호가 들어있을 때는 어떻게 해야할까? (명령어랑 겹치는 경우)

이스케이프 (역슬래시)를 사용하면 된다. (예약어를 탈출한다)

 

_ (언더바)는 한 글자 와일드카드

 


Note

LIKE 절에는 주로 두 가지 와일드카드 문자 %와 _가 사용된다.

  • %는 0개 이상의 문자
  • _는 단일 문자
SELECT * FROM Customers
WHERE CustomerName LIKE 'A%';

" CustomerName이 A로 시작하는 결과 보여줘 "

 

SELECT * FROM Customers
WHERE CustomerName LIKE '%land%';

" CustomerName에 land가 포함된 결과를 보여줘 "


SQL 문장에서 각 명령어를 구분하는 세미콜론(;)은 SQL 명령어의 끝을 나타내는 데 사용된다. 특히 다음과 같은 경우에 세미콜론이 필요

  1. 여러 쿼리를 한 번에 실행할 때: 데이터베이스 관리 시스템(DBMS)에서는 한 번에 여러 SQL 명령어를 실행할 수 있는데, 이때 각 명령어를 명확하게 구분하기 위해 세미콜론을 사용한다. 를 들어, 두 개의 쿼리를 한 번에 실행하려면 첫 번째 쿼리 뒤에 세미콜론을 넣어줘야 두 번째 쿼리가 올바르게 인식된다.
  2. 데이터베이스 시스템의 요구: 일부 DBMS는 명령어의 끝을 인식하기 위해 세미콜론이 필요하다. 세미콜론이 없으면 SQL 문이 끝났다고 인식하지 않아서 오류가 발생할 수 있다.
  3. 문법 오류 방지: 세미콜론이 없으면 쿼리의 끝을 알 수 없으므로 구문 분석기가 오류를 반환할 수 있다. 특히 쿼리 실행 환경에 따라 세미콜론이 필요할 때가 있다.