실전에 바로 들어가기 전에, 먼저 SQL이 뭔지(발음은 "에스-큐-엘" 아니면 "시퀄", 네가 편한 대로) 그리고 왜 중요한지부터 짚고 넘어가자.
SQL은 Structured Query Language — 구조화된 쿼리 언어라는 뜻이야. 이건 데이터베이스랑 소통할 때 쓰는 표준 언어야. 네가 어떤 DBMS를 쓰든 — PostgreSQL, MySQL, Oracle, 아니면 다른 거든, 거의 무조건 SQL을 쓰게 될 거야.
SQL은 데이터베이스랑 "대화"하는 방법이라고 생각하면 돼. 예를 들어 "18살 넘은 학생들 다 보여줘"라고 명령하면, 마치 마법처럼 필요한 데이터를 쏙쏙 뽑아줘.
SQL의 주요 역할:
- 데이터 추출 - "중세사 역사" 강좌에 등록한 사람이 누군지 알아보기.
- 데이터 추가 - 새로운 학생을 데이터베이스에 추가하기.
- 데이터 수정 - 학생 이름에 오타가 있으면 고치기.
- 데이터 삭제 - 학교에서 서류 빼간 학생 삭제하기.
SELECT가 왜 필요할까?
SELECT는 아마 SQL에서 제일 중요한 명령어일 거야. 영어로는 "선택하다"라는 뜻이지. 이건 데이터베이스에서 필요한 정보를 뽑아내는 도구야.
도서관에 책이 수천 권 있다고 상상해봐. 너는 Python 프로그래밍 책을 찾고 싶어. 서가를 일일이 뒤지는 대신, 사서한테 "Python 관련 책 좀 가져다줘"라고 말하는 거지.
데이터베이스 세계에서 SQL이 사서고, SELECT가 "가져와줘..."라는 명령이야.
SELECT로 할 수 있는 예시들:
- 모든 학생의 이름을 가져오기.
- 이번 학기에 열리는 강좌가 몇 개인지 알아보기.
- 점수가 90점 넘는 학생 찾기.
데이터 추출 말고도, SELECT는 이런 것도 가능해:
- 데이터 필터링 - "18살 넘은 학생만 보여줘".
- 데이터 정렬 - "학생을 성으로 정렬해줘".
- 필요한 컬럼만 뽑아서 보여주기, 다 보여줄 필요 없음.
SQL의 주요 장점
SQL은 거의 모든 분야에서 인정받는 스킬이야.
온라인 쇼핑몰 판매 데이터 분석하고 싶어? SQL 필요해.
의료 연구 관리해? 또 SQL. 프로세스 자동화 작업해? 맞아, SQL이야.
SQL이 왜 이렇게 쩌는지?
- SQL은 거의 모든 데이터베이스에서 동작해.
- SQL은 직관적으로 이해하기 쉽게 만들어졌어.
- 복잡한 SQL 쿼리도 꽤 쉽게 읽을 수 있어.
- SQL로 엄청난 양의 데이터를 처리하고, 필요한 정보만 뽑아낼 수 있어.
PostgreSQL에서 주석
그리고 또 하나 중요한 게 있는데, 바로 SQL 쿼리에서 주석이야. 주석은 진짜 유용해. 첫째, 설명이나 아이디어를 적을 수 있고, 둘째, 주석으로 코드 일부를 잠깐 꺼둘 수도 있어. 아니면 예전 코드 버전을 남겨둘 수도 있고.
나는 코드 옆에 주석을 자주 쓸 거라서, 오늘은 주석부터 시작할 거야.
SQL도 다른 프로그래밍 언어처럼 한 줄 주석, 여러 줄 주석이 있어. 여러 줄 주석은 이렇게 생겼어:
/* 주석 내용 주석 내용 주석 내용 */
이건 /*로 시작해서 */로 끝나. 한 줄에 써도 돼. 예시:
/* 주석 내용 */
그리고 "줄의 처음부터 끝까지" 주석도 있어. Java의 "//"나 Python의 "#"랑 비슷해. 근데 SQL에서는 마이너스 두 개랑 띄어쓰기를 써야 해. 이런 식이야:
-- 주석 내용
아래는 긴 SQL 쿼리 예시인데, 오른쪽 부분이 주석 처리되어 있어:
SELECT * FROM employee -- WHERE YEAR(join_date) = 2015
위 예시에서 우리는 조건문을 주석 처리했으니까, PostgreSQL은 아래 쿼리만 실행해:
SELECT * FROM employee
나는 코드 옆에 주석을 써서 읽기 쉽게 만들거나, 어려운 부분을 쉽게 설명할 거야. 이미 그렇게 하고 있어! 너도 이 유용한 도구를 꼭 써보길 추천해. :)
SQL 쿼리 스타일
SQL 언어는 최대한 user-friendly하게 설계됐어.
첫째, 쿼리에서 대소문자는 거의 신경 안 써도 돼: SELECT, Select, SeLecT, select 아무렇게나 써도 다 동작해. 둘째, 줄 바꿈도 거의 상관없어. DBMS가 한 줄로 쭉 써도 알아서 처리해줘. 그래서 쿼리 작성할 때 네 스타일대로 쓸 수 있어.
그래도 잘 정리된 SQL 코드는 읽기, 이해, 디버깅, 유지보수 다 편해. 그래서 보통 스타일 가이드가 있어.
포맷팅 팁
- SQL 키워드는 대문자로 쓰기.
SELECT,FROM,WHERE,ORDER BY같은 건 대문자로 쓰는 게 관례야. 이러면 테이블/컬럼명이랑 구분이 잘 돼. SELECT,FROM,WHERE등 주요 쿼리 부분은 새 줄에서 시작하기.- 세미콜론
;은 쿼리 끝에 붙이는 표준 구분자야. 한 스크립트나 코드 블록에서 여러 쿼리를 쓸 때 꼭 필요해. 항상 쿼리 끝에 세미콜론 붙이는 걸 추천해.
이렇게 포맷팅하면 좋아:
SELECT customer_id, full_name, email, registration_date
FROM customers
WHERE delivery_address = 'Anytown';
이 쿼리는 다른 방식으로, 다른 포맷으로도 쓸 수 있어. 지금은 너무 신경 쓰지 마. SQL에는 꼭 지켜야 하는 포맷이 있는 건 아니야. 중요한 건 — 읽기 쉽고 이해하기 쉽게 쓰는 거야.
GO TO FULL VERSION