728x90
SQL문 with 프로그래머스 문제 답 (1)
SQL문을 연습해보았다.
공부방법은 프로그래머스 문제를 쉬운 문제 부터 풀면서 모르는 문법을 하나씩 체크하고 익혀나가는 것
Level 1 수준 (JOIN 이전 간단한 쿼리문)
SELECT
-- 코드를 입력하세요
SELECT FACTORY_ID, FACTORY_NAME, ADDRESS
FROM FOOD_FACTORY
WHERE ADDRESS LIKE '강원도%'
ORDER BY FACTORY_ID
FACTORY_ID | FACTORY_NAME | ADDRESS |
---|---|---|
FT19980003 | (주)맛있는라면 | 강원도 정선군 남면 칠현로 679 |
FT20100003 | (주)맛있는음료 | 강원도 원주시 문막읍 문막공단길 154 |
FT20100004 | (주)맛있는국 | 강원도 평창군 봉평면 진조길 227-35 |
- SELECT xxx 하면 xxx가 컬럼인 테이블이 나온다. | ||
- FROM은 어떤 테이블에서 가져오는지, | ||
- WHERE은 조건 | ||
- ORDER BY는 정렬 조건이다. |
WHERE
1) LIKE (문자열 찾기?)
WHERE절에는 여러가지가 있는데, 일단 위에 나온
WHERE ADDRESS LIKE ‘강원도%’
의 LIKE가 있다.
2) IS
-- 코드를 입력하세요
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NULL
NAME 이 NULL인 애들만 찾아준다.
3) 부등호, 논리연산자, 여러 조건
-- 코드를 입력하세요
SELECT Count(*) AS USERS
FROM USER_INFO
WHERE ( AGE >= 20
AND AGE <= 29 )
AND JOINED LIKE '2021%'
USERS라는 이름으로, 데이터 갯수를 센다.
조건은 (AGE가 20이상 29이하) 이면서 JOINED가 ‘2021%’인 놈들이다.
NULL 값 치환 (IFNULL)
-- 코드를 입력하세요
SELECT WAREHOUSE_ID,
WAREHOUSE_NAME,
ADDRESS,
IFNULL(FREEZER_YN, 'N') AS FREEZER_YN
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE '경기도%'
SELECT문에서 IFNULL(’컬럼 이름’, ‘치환할 문자’) AS ‘표현할 문자’
이런식으로 Null값을 치환해줄 수 있다.
ORDER BY
-- 코드를 입력하세요
SELECT PT_NAME,
PT_NO,
GEND_CD,
AGE,
IFNULL(TLNO,'NONE') AS TLNO
FROM PATIENT
WHERE AGE <= 12 AND GEND_CD = 'W'
ORDER BY AGE DESC, PT_NAME
TLNO가 널일땐 ‘NONE’으로
AGE를 내림차순으로 AGE 같을 땐 PT_NAME의 오름차순으로 정렬해서…
COUNT
전체 행 갯수: SELECT COUNT(*) FROM 테이블
칼럼 데이터 갯수 : SELECT COUNT(컬럼) FROM 테이블
max, min
-- 코드를 입력하세요
SELECT max(PRICE) AS MAX_PRICE
FROM PRODUCT
PRICE중 MAX값을 표현해라.
MAX_PRICE라는 이름으로.
PRODUCT 테이블에서
DATE_FORMAT
-- 코드를 입력하세요
SELECT DR_NAME,
DR_ID,
MCDP_CD,
DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') AS HIRE_YMD
FROM DOCTOR
WHERE MCDP_CD = 'CS' OR
MCDP_CD = 'GS'
ORDER BY HIRE_YMD DESC, DR_NAME
DATE_FORMAT(HIRE_YMD, '%Y-%m-%d')
날짜 포맷을 yyyy-mm-dd 형식으로 뽑기
DR_NAME | DR_ID | MCDP_CD | HIRE_YMD |
---|---|---|---|
니모 | DR20200012 | CS | 2020-03-01 |
뽀로로 | DR20170123 | GS | 2017-03-01 |
벨 | DR20100039 | GS | 2010-07-01 |
자스민 | DR20100032 | GS | 2010-03-01 |
패티 | DR20090001 | CS | 2009-07-01 |
루피 | DR20090029 | CS | 2009-03-01 |
'BackEnd > SQL' 카테고리의 다른 글
[Oracle/JPA] Pagination Fetch 구문 에러 (0) | 2023.07.09 |
---|---|
[SQL/ORACLE] ORA-00911: invalid character 에러 (0) | 2023.06.30 |
[SQL/ORACLE] missing left parenthesis 에러 (0) | 2023.06.18 |
SQL공부 feat. 프로그래머스 (6) (Level 4) (0) | 2023.03.21 |
SQL공부 feat. 프로그래머스 (5) (Level 3) (0) | 2023.03.21 |
SQL공부 feat. 프로그래머스 (4) (CASE-WHEN-ELSE-END) (0) | 2023.03.19 |
SQL공부 feat. 프로그래머스 (3) (JOIN - ON, GROUP BY - HAVING) (0) | 2023.03.19 |
SQL문 연습 with 프로그래머스 (2) (MySQL) (0) | 2023.02.11 |
댓글