데이터를 조회하는 기본적인 구조는 아래와 같다.
SELECT 컬럼명
FROM 테이블명
컬럼명에는 전체를 뜻하는 *를 사용할 수 있고 컬럼명 여러개(컬럼1, 컬럼2 ...)를 사용할 수 있다.
컬럼명과 테이블명은 as(alias) 또는 띄어쓰기를 사용해 이름을 바꿔서 사용할 수 있다.
영문과 '_'은 따옴표를 사용하지 않지만 한글과 특수문자를 사용하려면 따옴표로 감싸줘야한다.
SELECT 컬럼명 as col
SELECT 컬럼명 col
SELECT 컬럼명 as '컬럼컬럼명'
SELECT 컬럼명 '컬럼컬럼명'
WHERE 문을 사용해서 조건에 맞는 데이터를 필터링할 수 있다.
SELECT 컬럼명
FROM 테이블명
WHERE 조건문
조건으로 문자를 사용할 경우 ' '(따옴표)를 사용해야 한다.
조건으로는 비교연산자를 사용할 수 있다.
비교연산자 | 뜻 |
---|---|
>, >= | 초과, 이상 |
<, <= | 미만, 이하 |
<> | 같지 않다 |
<>
기호와 같은 의미로 !=
를 사용해도 된다.
조건문 | 뜻 |
---|---|
BETWEEN A and B | A와 B 사이 |
IN | 포함 |
LIKE | 비슷한 값 |
BETWEEN 조건문은 범위를 지정하는 조건이지만 범위가 아닌 특정 숫자, 특정 단어 중 어느 하나에 포함되는지를 조건으로 하고 싶을 때 IN 조건문을 사용한다. 이 때 괄호를 사용하는 경우가 있다.
SELECT 컬럼명
FROM 테이블명
WHERE 컬럼명1 in (값1, 값2, 값3)
IN 조건문은 괄호 안의 값이 해당 컬럼의 데이터값과 똑같을 때만 사용가능하기 때문에 그 외의 특정 문자로 시작하거나 특정 문자를 포함, 특정 문자로 끝나는 값을 사용할 때 LIKE 조건문을 사용한다.
LIKE 조건문은 주로 ' % '
를 사용한다.
컬럼 LIKE ' % ' | 뜻 |
---|---|
컬럼 LIKE 'apple%' | apple로 시작하는 데이터 |
컬럼 LIKE '%apple%' | apple을 포함하는 데이터 |
컬럼 LIKE '%apple' | apple로 끝나는 데이터 |
위의 경우처럼 조건을 한 개만 적용하는 것이 아닌 여러개 주고 싶을 때는 논리연산자를 사용한다.
논리연산자 | 조건문 |
---|---|
AND | 조건문1 AND 조건문2 |
OR | 조건문1 OR 조건문2 |
NOT | NOT 조건문 |
상품 준비시간이 20~30분 사이인, 한국음식점의 식당명과 고객번호를 조회하는 쿼리를 작성해보세요
SELECT : 식당명, 고객번호
FROM : 상품 준비시간, 음식점 타입, 식당명, 고객번호 컬럼을 가지고 있는 테이블
WHERE : 상품 준비시간이 20~30, 한국음식점
SELECT restaurant_name '식당명',
customer_id '고객번호'
FROM food_orders
WHERE food_preparation_time BETWEEN 20 and 30
and cuisine_type ='Korean';
이름이 있는 동물의 아이디
이름이 있는 동물의 ID를 조회하는 SQL 문을 오름차순으로 작성해주세요.
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
이름이 있는지 없는지만을 판단하면 되기 때문에 NAME
에 NULL
값을 가지지 않는 동물의 ID를 조회하여 해결
MySQL 은 default 가 오름차순이라 따로 ORDER BY
는 사용하지 않음