본문 바로가기

SQL6

[PCSQL] 문자열 추출 함수 정리 오늘은 문자열 추출 함수인 LEFT(), MID(), RIGHT(), SUBSTRING()에 대하여 정리해보았다.특정 문자가 포함된 열을 조회하는 LIKE 가 아닌, 같은 문자끼리 그룹으로 묶거나 추출할 때 사용할 수 있는 함수들이다. 1. LEFT()/RIGHT() 사용 예시:SELECT LEFT(컬럼명, 2) AS prefix, COUNT(*) AS cntFROM 테이블명GROUP BY LEFT(컬럼명, 2)위의 예시 처럼 컬럼명과 조회하려는 문자의 갯수를 적어서 사용하는데, LEFT는 왼쪽부터 n글자/RIGHT는 오른쪽부터 n글자를 조회한다. GROUP BY 및 컬럼 조회도 가능하다. 2. MID() 사용 예시:SELECT MID(컬럼명, 1, 2) AS prefix, COUNT(*) AS cntF.. 2025. 10. 17.
[PCSQL] 우유와 요거트가 담긴 장바구니 (MySQL) 우유와 요거트가 담긴 장바구니 Lv.4이 문제는 Lv.4 치고 어려운 문제는 아니지만, SUM()이나 MAX() 함수를 사용하여 간단하게 푸는 방법이 있길래 내가 풀었던 방식과 더불어 3가지의 다른 풀이를 정리해봤다. 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이1. SELF JOIN (내가 푼 방식)SELECT DISTINCT a.CART_IDFROM CART_PRODUCTS aJOIN CART_PRODUCTS b ON a.CART_ID = b.CART_IDWHERE a.NAME = 'Milk' AND b.NAME = 'Yogurt'ORDER BY a.CART_ID; 행 단위로 JOIN + 조건으로 필.. 2025. 10. 15.
[PCSQL] 프로그래머스 - 대장균들의 자식의 수 구하기(MySQL) 대장균들의 자식의 수 구하기(Lv.3)프로그래머스의 대장균 시리즈를 풀어봤다. 그 중, 가장 어려웠던 문제는 정답률 72%의 대장균들의 자식의 수 구하기였다.이 문제는 테이블이 1개 뿐인데 그룹별 수 집계가 필요하기에 자기참조와 LEFT JOIN이 필요한 문제로 여러 개념이 복합적으로 등장하기 때문에 고득점을 위한 발판으로 삼기 좋은 문제라 생각한다. 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명대장균들은 일정 주기로 분화하며, 분화를 시작한 개체를 부모 개체, 분화가 되어 나온 개체를 자식 개체라고 합니다.다음은 실험실에서 배양한 대장균들의 정보를 담은 ECOLI_DATA 테이블입니다. ECOLI_.. 2025. 10. 9.
[PCSQL] SELECT 쿼리 작성순서와 실행순서는 다르다. SQL을 작성할 때 우리는 SELECT, FROM, WHERE, GROUP BY, ORDER BY 순으로 코드를 작성한다. 하지만 실제로 SQL 쿼리는 우리가 작성한 순서와 다르게 실행되는데, 이 실행 순서를 이해하는 것은 효율적인 쿼리 작성, 디버깅, 성능 최적화에 매우 중요하다. 쿼리 작성순서와 실행순서는 어떻게 다를까?우선 우리가 SELECT 구문을 작성할 때는 다음과 같은 순으로 작성한다.SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT그러나 실제 내부에서 일어나는 실행 순서는 다음과 같다.FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMITFROM / JOIN: 데이터를 가져올 테이.. 2025. 10. 8.
[PCSQL] DATE_FORMAT 날짜 포맷 DATE_FORMAT 포맷 코드 카테고리코드의미예시연도%Y4자리 연도2025 %y2자리 연도25월%m2자리 월 (01~12)01, 10 %c월 숫자 (1~12)1, 10 %b축약된 영문 월Jan, Oct %M전체 영문 월January, October일%d2자리 일 (01~31)01, 13 %e일 (1~31)1, 13 %j1년 중 일수 (001~366)001, 286시간%H24시간 (00~23)00, 20 %k24시간 (0~23)0, 20 %h12시간 (01~12)01, 08 %l12시간 (1~12)1, 8 %i분 (00~59)00, 15 %s초 (00~59)00, 30 %pAM/PMAM, PM요일%a축약된 영문 요일Sun, Mon %W전체 영문 요일Sunday, Monday %w숫자 요일 (0=일요일~6.. 2025. 10. 4.
[PCSQL] SQL 핵심 문법 정리(요약 PDF 有) 쿼리를 작성하다보면 각 절마다의 제약사항이나 함수 사용 방법이 헷갈려 풀지 못하는 문제가 더러 있습니다.그래서 핵심 문법과 자주 사용하는 함수들을 정리해보았습니다. PDF파일도 첨부하였으니 필요하신 분은 다운받아가세요!1. 기초: SQL 기본 구조실행 순서: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMITSELECT department, COUNT(*) AS cntFROM employeesWHERE age > 30GROUP BY departmentHAVING COUNT(*) > 5ORDER BY cnt DESCLIMIT 10;1-1. 기본 절 (Clause)절역할핵심 규칙SELECT조회할 컬럼 지정GROUP BY 사용 시: 그룹화 컬럼 + 집계.. 2025. 10. 4.