[SQLD합격] SQL 기초 문법과 데이터 조회 감각 만들기
SQL의 가장 기본이 되는 SELECT 문과 데이터 조회 흐름을 익힌다. 데이터를 읽는 순서, WHERE 조건 필터링, 정렬, 집계 함수 같은 핵심 문법을 자연스럽게 이해하게 된다. SQLD 초반 문제 대부분이 여기서 출제되기 때문에 단순 암기가 아니라 “쿼리가 실제로 어떻게 실행되는지” 감각을 만드는 것이 목표다. 특히 GROUP BY, HAVING, NULL 처리처럼 초보자가 많이 헷갈리는 부분을 실전 중심으로 익히게 된다.
수록 문항
총 74개아래 문항들은 이 학습지에 수록된 카드입니다. 각 카드는 문제(Q)와 답(A)으로 구성되어 있으며, 일부 카드에는 추가 해설이 포함되어 있습니다. 로그인하면 이 학습지를 내 계정으로 복사해 카드를 한 장씩 넘기며 반복 학습할 수 있고, 숙달한 카드는 완료 표시하여 다음 세션에서 제외할 수 있습니다.
-
#1Q.
SELECT *
A.모든 컬럼의 데이터를 조회한다
테이블에 존재하는 전체 컬럼을 모두 조회할 때 사용하는 가장 기본적인 조회 방식이다. -
#2Q.
SELECT name FROM users
A.users 테이블에서 name 컬럼만 조회한다
특정 컬럼만 선택해서 불필요한 데이터 조회를 줄일 수 있다. -
#3Q.
SELECT name, age FROM users
A.여러 컬럼을 동시에 조회한다
쉼표로 구분해서 원하는 컬럼 여러 개를 선택할 수 있다. -
#4Q.
SELECT DISTINCT department FROM employees
A.department 컬럼의 중복값을 제거하고 조회한다
DISTINCT는 중복 데이터를 하나만 남기고 조회한다. -
#5Q.
SELECT * FROM users WHERE age > 20
A.age 값이 20보다 큰 데이터만 조회한다
WHERE는 조건에 맞는 행만 필터링한다. -
#6Q.
SELECT * FROM users WHERE age >= 20
답은 로그인 후 확인 -
#7Q.
SELECT * FROM users WHERE age < 30
답은 로그인 후 확인 -
#8Q.
SELECT * FROM users WHERE age <= 30
답은 로그인 후 확인 -
#9Q.
SELECT * FROM users WHERE age = 25
답은 로그인 후 확인 -
#10Q.
SELECT * FROM users WHERE age != 25
답은 로그인 후 확인 -
#11Q.
SELECT * FROM users WHERE city = 'SEOUL'
답은 로그인 후 확인 -
#12Q.
SELECT * FROM users WHERE city != 'BUSAN'
답은 로그인 후 확인 -
#13Q.
SELECT * FROM users WHERE age BETWEEN 20 AND 30
답은 로그인 후 확인 -
#14Q.
SELECT * FROM users WHERE age NOT BETWEEN 20 AND 30
답은 로그인 후 확인 -
#15Q.
SELECT * FROM users WHERE age IN (20,30,40)
답은 로그인 후 확인 -
#16Q.
SELECT * FROM users WHERE age NOT IN (20,30,40)
답은 로그인 후 확인 -
#17Q.
SELECT * FROM users WHERE name LIKE 'K%'
답은 로그인 후 확인 -
#18Q.
SELECT * FROM users WHERE name LIKE '%K'
답은 로그인 후 확인 -
#19Q.
SELECT * FROM users WHERE name LIKE '%K%'
답은 로그인 후 확인 -
#20Q.
SELECT * FROM users WHERE name LIKE '_IM'
답은 로그인 후 확인 -
#21Q.
SELECT * FROM employees WHERE commission IS NULL
답은 로그인 후 확인 -
#22Q.
SELECT * FROM employees WHERE commission IS NOT NULL
답은 로그인 후 확인 -
#23Q.
SELECT * FROM users ORDER BY age
답은 로그인 후 확인 -
#24Q.
SELECT * FROM users ORDER BY age ASC
답은 로그인 후 확인 -
#25Q.
SELECT * FROM users ORDER BY age DESC
답은 로그인 후 확인 -
#26Q.
SELECT * FROM users ORDER BY city ASC, age DESC
답은 로그인 후 확인 -
#27Q.
SELECT COUNT(*) FROM users
답은 로그인 후 확인 -
#28Q.
SELECT COUNT(age) FROM users
답은 로그인 후 확인 -
#29Q.
SELECT SUM(price) FROM orders
답은 로그인 후 확인 -
#30Q.
SELECT AVG(score) FROM students
답은 로그인 후 확인 -
#31Q.
SELECT MAX(price) FROM products
답은 로그인 후 확인 -
#32Q.
SELECT MIN(price) FROM products
답은 로그인 후 확인 -
#33Q.
SELECT department, COUNT(*) FROM employees GROUP BY department
답은 로그인 후 확인 -
#34Q.
SELECT department, AVG(salary) FROM employees GROUP BY department
답은 로그인 후 확인 -
#35Q.
SELECT department, SUM(salary) FROM employees GROUP BY department
답은 로그인 후 확인 -
#36Q.
SELECT department, MAX(salary) FROM employees GROUP BY department
답은 로그인 후 확인 -
#37Q.
SELECT department, MIN(salary) FROM employees GROUP BY department
답은 로그인 후 확인 -
#38Q.
SELECT department, COUNT(*) FROM employees GROUP BY department HAVING COUNT(*) > 3
답은 로그인 후 확인 -
#39Q.
SELECT department, AVG(salary) FROM employees GROUP BY department HAVING AVG(salary) > 3000
답은 로그인 후 확인 -
#40Q.
SELECT * FROM users WHERE age > 20 AND city = 'SEOUL'
답은 로그인 후 확인 -
#41Q.
SELECT * FROM users WHERE age > 20 OR city = 'SEOUL'
답은 로그인 후 확인 -
#42Q.
SELECT * FROM users WHERE NOT city = 'SEOUL'
답은 로그인 후 확인 -
#43Q.
SELECT * FROM users WHERE age > 20 AND gender = 'M'
답은 로그인 후 확인 -
#44Q.
SELECT * FROM products WHERE category = 'A' OR price > 10000
답은 로그인 후 확인 -
#45Q.
SELECT * FROM users WHERE name LIKE 'K%' AND age > 20
답은 로그인 후 확인 -
#46Q.
SELECT SYSDATE FROM dual
답은 로그인 후 확인 -
#47Q.
SELECT UPPER(name) FROM users
답은 로그인 후 확인 -
#48Q.
SELECT LOWER(name) FROM users
답은 로그인 후 확인 -
#49Q.
SELECT LENGTH(name) FROM users
답은 로그인 후 확인 -
#50Q.
SELECT SUBSTR(name,1,3) FROM users
답은 로그인 후 확인 -
#51Q.
SELECT ROUND(123.456,2) FROM dual
답은 로그인 후 확인 -
#52Q.
SELECT TRUNC(123.456,1) FROM dual
답은 로그인 후 확인 -
#53Q.
SELECT MOD(10,3) FROM dual
답은 로그인 후 확인 -
#54Q.
SELECT NVL(commission,0) FROM employees
답은 로그인 후 확인 -
#55Q.
SELECT CONCAT(first_name,last_name) FROM users
답은 로그인 후 확인 -
#56Q.
SELECT first_name || last_name FROM users
답은 로그인 후 확인 -
#57Q.
SELECT TO_CHAR(SYSDATE,'YYYYMMDD') FROM dual
답은 로그인 후 확인 -
#58Q.
SELECT TO_NUMBER('100') FROM dual
답은 로그인 후 확인 -
#59Q.
SELECT TO_DATE('20250515','YYYYMMDD') FROM dual
답은 로그인 후 확인 -
#60Q.
SELECT * FROM users WHERE ROWNUM <= 5
답은 로그인 후 확인 -
#61Q.
SELECT department, COUNT(*) cnt FROM employees GROUP BY department
답은 로그인 후 확인 -
#62Q.
SELECT name AS username FROM users
답은 로그인 후 확인 -
#63Q.
SELECT * FROM users u
답은 로그인 후 확인 -
#64Q.
SELECT price * quantity AS total_price FROM orders
답은 로그인 후 확인 -
#65Q.
SELECT COUNT(DISTINCT department) FROM employees
답은 로그인 후 확인 -
#66Q.
SELECT * FROM products WHERE price BETWEEN 1000 AND 5000
답은 로그인 후 확인 -
#67Q.
SELECT category, AVG(price) FROM products GROUP BY category
답은 로그인 후 확인 -
#68Q.
SELECT ROUND(AVG(score),2) FROM students
답은 로그인 후 확인 -
#69Q.
SELECT * FROM employees WHERE hiredate > TO_DATE('20240101','YYYYMMDD')
답은 로그인 후 확인 -
#70Q.
SELECT * FROM users WHERE city IN ('SEOUL','BUSAN')
답은 로그인 후 확인 -
#71Q.
SELECT * FROM products WHERE stock < 10
답은 로그인 후 확인 -
#72Q.
SELECT department, COUNT(*) FROM employees GROUP BY department ORDER BY department
답은 로그인 후 확인 -
#73Q.
SELECT * FROM users WHERE age > 20 AND age < 30
답은 로그인 후 확인 -
#74Q.
SELECT COUNT(*) FROM orders WHERE status = 'DONE'
답은 로그인 후 확인
처음 5개의 답만 미리 보여드려요. 전체 74개 항목은 로그인 후 학습할 수 있습니다.
이 학습지를 효과적으로 활용하는 방법
- ① 처음에는 전체 문항을 한 번씩 훑어보며 익숙한 항목과 낯선 항목을 분류하세요.
- ② 학습 세션에서 "안 외운 문항만" 옵션으로 아직 숙달하지 못한 카드에 집중합니다.
- ③ 랜덤 순서 학습을 활용해 카드 순서에 의존한 암기를 방지하세요.
- ④ 키보드 단축키(1·2·A·D·Space)를 쓰면 한 손으로도 빠르게 복습할 수 있습니다.
- ⑤ 복사(Fork)한 학습지에는 자유롭게 나만의 해설이나 예문을 덧붙여 내 스타일로 다듬어 보세요.