C.W.K.
Stream
Lesson 01 of 10 · published

SELECT — 데이터 가져오기

~12 min · sql, select, querying

Level 0Scout
0 XP0/80 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

모든 read 의 모양

SQLite DB 에서 데이터 읽는 모든 query 는 SELECT 로 시작. 최소 모양:

SELECT <columns> FROM <table> [WHERE <predicate>] [ORDER BY ...] [LIMIT N]

첫날 내재화할 거:

  • SELECT * 는 탐색용으론 OK 하지만 production 코드에선 절대 안 됨 — schema 가 오늘 어떤 모양인지에 앱이 묶임.
  • 컬럼 표현은 raw 컬럼, 표현식, 함수 호출, string concat 다 가능.
  • ASalias 만듦 — query 안에서만 유효한 임시 이름. Derived 컬럼과 self-join 에 사용.
  • FROM 없이 SELECT 가능: SELECT 1+1, SELECT datetime('now') — one-shot 체크에 유용.
Tip: 첫날부터 명시적 컬럼 muscle 키워. Production 코드의 모든 SELECT * 는 미래의 버그 — sensitive 컬럼 추가나 schema reorder 시 silently 깨지거나 데이터 누출.

Code

SELECT 모양들·sql
-- 모든 컬럼 (탐색용만)
SELECT * FROM users;

-- 특정 컬럼
SELECT id, email, username FROM users;

-- 표현식 + alias
SELECT id, email,
       length(email)               AS email_length,
       upper(username)             AS uname_upper,
       email || ' (' || username || ')' AS display
FROM users;

-- FROM 자체 없음
SELECT datetime('now') AS now_utc, 1 + 1 AS two;

External links

Exercise

5 row 짜리 테이블 (또는 본인 거) 으로 SELECT 5 개 작성: (1) 모든 컬럼, (2) 특정 두 컬럼, (3) alias 있는 표현식 하나, (4) FROM 없는 거, (5) 서로 참조하는 alias 두 개 (예: price_with_tax 계산 후 그걸로 group). SQLite 가 어디서 alias 재사용 허용하고 어디서 안 하는지 기록.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.