반응형 SQL16 SQL WHERE와 HAVING 차이: GROUP BY 실행 순서와 예제 WHERE와 HAVING은 모두 조건을 적지만 적용되는 시점이 다르다. WHERE는 그룹으로 묶기 전의 행을 고르고, HAVING은 GROUP BY로 만든 그룹의 집계 결과를 고른다.둘 중 무엇을 써야 할지 헷갈리면 조건의 대상이 ‘주문 한 건’인지 ‘고객별 합계’인지 먼저 확인하면 된다.WHERE는 그룹화할 행을 고른다아래 orders 테이블에서 취소 주문을 제외하고 결제 완료 주문만 집계하려고 한다. 이때 status = 'paid'는 주문 한 행마다 확인할 수 있는 조건이므로 WHERE에 둔다.idcustomer_idstatustotal_amount1Apaid120002Apaid180003Acancelled50004Bpaid70005Bpaid90006Ccancelled22000SELECT custo.. 2026. 9. 2. SQL JOIN 결과가 헷갈릴 때: INNER JOIN과 LEFT JOIN 표로 이해하기 JOIN 문법을 외워도 결과 행을 계산할 때 헷갈리는 경우가 있다. 특히 LEFT JOIN을 사용했는데 왼쪽 행이 사라졌다면 JOIN 종류보다 ON과 WHERE에 둔 조건을 먼저 확인해야 한다.이번에는 같은 데이터를 SQLite 인메모리 데이터베이스에 넣고 네 개의 쿼리를 실행했다. 결과를 볼 때는 왼쪽 행 → ON 조건 → NULL 보충 → WHERE 필터 순서로 확인하면 이해하기 쉬웠다.📍 예제 데이터팀은 세 개, 직원은 네 명으로 만들었다. Minu와 Jina는 실제 팀을 가리키고, Daeun의 team_id는 NULL이다. Hoon의 40과 일치하는 팀은 없다.employees.idemployees.nameemployees.team_id1Minu102Jina203DaeunNULL4Hoon40te.. 2026. 8. 31. [프로그래머스] 모든 레코드 조회하기(SQL) https://school.programmers.co.kr/learn/courses/30/lessons/59034 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 모든 레코드 조회하기 문제 동물 보호소에 들어온 모든 동물의 정보를 출력하는 SQL 문을 작성하는 문제 📌 문제 접근 포인트 1. 모든 정보를 출력하므로 SELECT *이다. 2. ANIMAL_INS 테이블에서 가져오므로 FROM ANIMAL_INS 이다. ⚙ 내가 푼 정답 코드 SELECT * FROM ANIMAL_INS 2023. 6. 5. [프로그래머스] 재구매가 일어난 상품과 회원 리스트 구하기(SQL) https://school.programmers.co.kr/learn/courses/30/lessons/131536 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 재구매가 일어난 상품과 회원 리스트 구하기 문제 재구매를 한 회원 ID와 재구매한 상품 ID를 조건에 맞에 출력하는 SQL문을 작성하는 문제 📌 문제 접근 포인트 1. 조회할 항목이 USER_ID와 PRODUCT_ID이므로 SELECT USER_ID와 PRODUCT_ID이다. 2. ONLINE_SALE에서 가져오므로 FROM ONLINE_SALE이다. 3. 재구매한 USER_ID와 재구매한 상품.. 2023. 6. 5. [프로그래머스] 역순 정렬하기 (SQL) https://school.programmers.co.kr/learn/courses/30/lessons/59035 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 역순 정렬하기 문제 NAME과 DATETIME을 ANIMAL_ID의 역순으로 나열하는 SQL문을 작성하는 문제 📌 문제 접근 포인트 1. 조회할 항목이 NAME, DATETIME 이므로 SELECT NAME, DATETIME 이다. 2. ANIMAL_INS 테이블에서 가져오므로 FROM ANIMAL_INS 이다. 3. ANIMAL_ID의 역순으로 나열해야 하므로 ORDER BY ANIMAL_ID .. 2023. 6. 5. [프로그래머스 SQL] 아픈 동물 찾기: WHERE·ORDER BY 풀이 프로그래머스 SQL 문제 '아픈 동물 찾기'는 WHERE로 조건을 고르고 ORDER BY로 결과 순서를 정하는 문제입니다. 두 절의 역할만 구분하면 쉽게 풀 수 있습니다.문제에서 확인할 조건- 조회 열: ANIMAL_ID, NAME- 테이블: ANIMAL_INS- 조건: INTAKE_CONDITION = 'Sick'- 정렬: ANIMAL_ID 오름차순정답 SQLSELECT ANIMAL_ID, NAMEFROM ANIMAL_INSWHERE INTAKE_CONDITION = 'Sick'ORDER BY ANIMAL_ID;풀이 순서SELECT에서 필요한 두 열을 고르고 FROM에서 ANIMAL_INS 테이블을 지정합니다. WHERE는 상태가 'Sick'인 행만 남기고, ORDER BY는 결과를 ANIMAL_ID .. 2023. 6. 5. 이전 1 2 3 다음 반응형