프론트엔드 개발자인데 SQL을 배워야할까?

rogie·2025년 12월 23일

Q. SQL발표를 왜 하게 되었느냐?

A. 아이스 브레이킹 시간에 빠지지 않고 SQL이야기가 나오는 것을 느꼈고 그래서 SQL이 뭔데? 라는 궁금증에서 출발했습니다.


1. SQL이란

SQL(Structured Query Language)은 데이터베이스와 대화하는 언어입니다.

웹사이트에 있는 거의 모든 데이터는 데이터베이스에 저장되어 있습니다.

  • 유저 정보 (이름, 이메일, 비밀번호)
  • 게시글 (제목, 내용, 작성자)
  • 댓글, 좋아요, 주문 내역...

SQL은 이런 데이터를 가져오거나 저장하거나 수정할 때 사용합니다.

쉽게 말하면:

"users 테이블에서 나이가 20살 이상인 사람들 보여줘"
"posts 테이블에 새 게시글 저장해줘"

이런 명령을 데이터베이스에게 내리는 언어입니다.


2. 프론트엔드는 SQL을 직접 안 쓰는데 왜?

맞습니다. 프론트엔드는 SQL을 직접 쓰지 않습니다.

프론트엔드 개발자가 하는 일:

  • API를 호출해서 데이터 받아오기
  • 받은 데이터를 화면에 예쁘게 보여주기

백엔드 개발자가 하는 일:

  • API를 만들고
  • SQL로 데이터베이스에서 데이터를 가져와서
  • 프론트엔드에게 전달하기

그럼 왜 프론트엔드가 SQL을 알아야 하냐고요?

백엔드 개발자와 협업할 때 소통이 안 되는 문제가 생깁니다.

예시:

  • 프론트: "유저 목록이랑 각 유저가 쓴 글 개수 주세요"
  • 백엔드: "JOIN 해야 하는데 N+1 문제가..."
  • 프론트: "...???"

이런 상황이 반복되면 답답합니다.


3. 프론트엔드가 SQL 개념과 마주치는 순간

상황 1: 사이드 프로젝트 할 때

혼자 간단한 웹사이트 만들다가 데이터 저장이 필요해집니다.
"어... 데이터를 어디에 어떻게 저장하지?"
결국 유튜브 보면서 따라하는데 테이블을 어떻게 만들어야 하는지 감이 안 옵니다.

상황 2: AI 도구(Cursor, ChatGPT) 쓸 때

Cursor한테 "데이터베이스 설계해줘"라고 물어봅니다.
답변이 SQL로 주르륵 나오는데, 이게 맞는지 틀린지 판단을 못 합니다.
SQL을 알면 AI 답변을 제대로 활용할 수 있습니다.

상황 3: API 응답 데이터 순서가 이상할 때

API로 게시글 목록을 받았는데 순서가 1-3-4-2-5 이렇게 뒤죽박죽입니다.
백엔드: "데이터는 다 줬는데요?"
프론트: "근데 순서가 이상해요..."

SQL을 알면: "ORDER BY id DESC 빠진 것 같은데 추가해주세요" → 바로 해결

SQL을 모르면: 프론트에서 sort() 써서 임시방편... (근본 해결 안 됨)


4. SQL을 알면 좋은 점

백엔드와 말이 통함

예: 백엔드가 "인덱스 없어서 이 필드로는 정렬 못 해요"라고 하면
→ "아 그럼 created_at 같은 다른 필드로 정렬하면 되겠네요" 바로 대안 제시
SQL 모르면: "...왜요? 그냥 정렬 하면 안돼요?" (답답)

API를 똑똑하게 요청할 수 있음

막연하게: "유저 목록이랑 게시글 개수 주세요"
구체적으로: "users랑 posts JOIN해서 COUNT 집계한 결과 주세요"
백엔드도 바로 이해하고 개발 속도 빨라집니다.

속도가 왜 느린지 알 수 있음

페이지 느릴 때
"프론트 렌더링 문제인가? 백엔드 쿼리 문제인가?"
구분할 수 있어서 문제를 빨리 찾습니다.

예: "API 100번 호출하고 있네? N+1 문제다" → JOIN으로 한 번에 해결 요청

혼자서도 뭔가 만들 수 있음

간단한 앱 만들 때 백엔드 없이도 직접 데이터 저장하고 가져올 수 있습니다.
Supabase 같은 도구 쓸 때도 SQL 알면 훨씬 쉽습니다.
풀스택 개발자로 갈 수 있는 길이 열립니다.


5. 현실적인 이야기

프론트는 이미 배울 게 너무 많습니다

Next.js, React, TypeScript, 상태관리, CSS, 성능 최적화, 웹 접근성...
프론트엔드만 해도 평생 배워야 합니다.
SQL까지 깊게 파면 정작 중요한 프론트 기술이 부족해질 수 있습니다.

실무에서 쿼리 짤 일은 거의 없습니다

대부분 회사는 백엔드와 프론트가 명확히 분리되어 있습니다.
프론트엔드가 직접 데이터베이스를 건드리는 일은 없습니다.


6. 결론

프론트엔드도 SQL을 배워야 할까?

무조건 배워야 한다 ❌

알면 분명히 도움된다 ✅

❗출처

[Project] 백엔드와 협업하기

프론트엔드 신입개발자가 sql도 다루나요? | OKKY

프론트엔드 개발자가 SQL을 공부하는 이유

profile
front-end를 꿈꿉니다

0개의 댓글