1. SQL이란?
SQL은 데이터 베이스와 대화하기 위한 언어이다.
2. 데이터 조회
데이터 조회는 SELECT로 하며 FROM은 어떤 테이블에서 조회를 할지 지정한다.
SELECT *
FROM shops
여기서 *은 All이라는 의미다.
즉, 모든 컬럼을 가져오라는 의미, shop은 테이블 이름이다.
이렇게 되면 shops에 있는 모든 컬럼 (속성) 을 다 조회하게 된다.
만약 필요한 컬럼(속성)만 가져오고 싶다면
SELECT shop_name, shop_category
FROM shops
shop_name과 shop_category 컬럼(속성)만 조회하게 된다.
원하는 컬럼을 뽑았지만, 평소 사용하는 명칭과 다를 경우가 있다.
이럴 때는 별명(alias)를 줄 수 있다.
방법은 2가지가 있다.
1 : 컬럼1 as 별명1
2 : 컬럼1 별명1
SELECT shop_name as name, shop_category "카테고리"
FROM shops
shop_name을 name, shop_category를 카테고리 라는 별명을 붙여 주었다.
이때, 별명이 영문이나 언더바(_)가 들어갔다면 그대로 별명만 적어주면 되지만
다른 특수문자나 한글이 들어간 별명이라면 쌍따옴표를 붙여줘야 한다.
2. WHERE
WHERE 절은 조건을 걸어 필요한 데이터만 조회하는 것이다.
SELECT *
FROM shops
WHERE shops_category = 'computer'
업종(shops_category)이 컴퓨터(computer)인 가게만 조회하게 된다.
WHERE 절에 다양하게 필터링 할 수 있는 방법이 있는데
위의 예시 처럼 =을 사용하여 특정할 수도 있고
아니면, BETWEEN, IN, LIKE, 비교연산 등을 활용할 수도 있다.
BETWEEN
A와 B사이값을 가진 데이터를 조회하고 싶다면
BETWEEN A AND B
예를 들어 매출이 10000과 30000 사이인 가게를 조회한다고 해보자
그렇다면
SELECT *
FROM shops
WHERE sales
BETWEEN 10000 AND 30000
이렇게 사용할 수 있다.
IN
IN은 몇가지의 값을 포함하는 조건이다.
A와 B, C의 값을 가진 데이터를 조회하고 싶다면
IN (A, B, C)
가게의 년도가 5, 7, 10년인 가게를 찾고 싶다면
SELECT *
FROM shops
WHERE age in (5, 7, 10)
이렇게 사용된다.
* IN에서 조건이 숫자가 아닌 문자라면 작은 따옴표를 써줘야 한다.
LIKE
LIKE는 완전히 같지는 않지만 특정 문자나 숫자로 시작한다거나 포함되어있는 데이터를 조회할 수 있다.
기본적으로 LIKE '시작문자%'의 형식이나
LIKE '%포함 문자%',
LIKE '%끝문자'의 형식을 쓴다.
가게 소유자의 성이 '이'인 가게를 찾고 싶다면
SELECT *
FROM shops
WHERE name LIKE '이%'
이렇게 사용된다.
그외에 <, >, <>(같지 않다), <=, >= 등을 사용할 수 있다.
여러개의 조건을 걸고 싶다면 조건과 조건 사이에 AND, OR, NOT을 사용하면 된다.
{AND = 그리고, OR = 또는, NOT = 아닌}이다.
'TIL' 카테고리의 다른 글
[SQL] Pivot Table과 윈도우 함수 그리고 값이 없을 때 대처법 (3) | 2024.12.25 |
---|---|
[SQL] Subquery와 JOIN (0) | 2024.12.24 |
[SQL] 문자 데이터 변경과 그 활용 (3) | 2024.12.24 |
[SQL] 계산 및 정렬 (0) | 2024.12.23 |
Starter Note (4) | 2024.12.12 |