SQL - 20250605
·
DB/SQL
✅ 문제 요약 STATION 테이블에서CITY 컬럼의전체 행 수 - 중복 제거한 행 수의 차이 계산 즉, 중복된 CITY 이름의 개수. ✅ 정답 SQLSELECT COUNT(*) - COUNT(DISTINCT CITY)FROM STATION; 🔍 핵심 개념함수설명COUNT(*)전체 행 수COUNT(DISTINCT CITY)중복 제거된 도시 이름 개수차이 계산 -중복된 도시 이름의 수를 의미함
SQL - 20250604
·
DB/SQL
✅ 문제 요구 요약 CITY 테이블에서COUNTRYCODE = 'USA' (미국 도시)POPULATION > 100000 (인구 10만 초과)모든 컬럼 조회 ✅ 정답 SQLSELECT *FROM CITYWHERE POPULATION > 100000 AND COUNTRYCODE = 'USA'; 🔍 참고 포인트 SELECT * : 모든 컬럼 조회WHERE절 조건 2개는 AND로 연결VARCHAR2, NUMBER 등 타입은 Oracle 기준 표현이지만, SQL 로직에는 영향 없음
SQL - 20250515
·
DB/SQL
🐍 Python 개발자 찾기 – 쿼리 분석SELECT ID, EMAIL, FIRST_NAME, LAST_NAMEFROM DEVELOPER_INFOSWHERE SKILL_1 = 'Python' OR SKILL_2 = 'Python' OR SKILL_3 = 'Python'ORDER BY ID ASC; ✅ WHERE SKILL_1 = ‘Python’ OR … 세 개의 스킬 컬럼 중 하나라도 ‘Python’인 개발자만 필터링OR 조건으로 다중 필드 비교스키마가 수직 분리되어 있지 않은 정규화되지 않은 구조에서 자주 사용 ✅ ORDER BY ID ASC ID 기준으로 오름차순 정렬 🧾 게시글 3건 이상 작성한 사용자 정보 조회 – 쿼리 분석SELECT UU.USER_ID, UU.NICK..
📅 SQL에서 DATE, DATETIME, TIMESTAMP 완전 정복 (MySQL)
·
DB/SQL
이게 도대체 뭐가 다른 거야? 🤯MySQL을 쓰다 보면 DATE, DATETIME, TIMESTAMP 중 어떤 걸 써야 할지 헷갈릴 때가 많다.오늘은 이 세 가지 타입의 차이점과 특징, 변환 방식, 실전 사용 팁까지 모두 정리해보자. ✅ 1. 기본 정의자료형설명저장 범위시간 포함 여부타임존 영향DATE날짜만 저장1000-01-01 ~ 9999-12-31❌ (시간 없음)❌DATETIME날짜 + 시간 저장1000-01-01 00:00:00 ~ 9999-12-31 23:59:59✅❌TIMESTAMP날짜 + 시간 저장 (UNIX 기반)1970-01-01 00:00:01 UTC ~ 2038-01-19 03:14:07 UTC✅✅ (타임존 영향 받음) 💡 핵심 정리 DATE: 연/월/일만 필요할 때DATETIM..
SQL - 20250514
·
DB/SQL
💼 부서별 평균 연봉 조회 – 쿼리 분석SELECT HE.DEPT_ID, HD.DEPT_NAME_EN, ROUND(AVG(SAL),0) AS AVG_SALFROM HR_EMPLOYEES HEJOIN HR_DEPARTMENT HD ON HE.DEPT_ID = HD.DEPT_IDGROUP BY HE.DEPT_IDORDER BY AVG_SAL DESC; ✅ JOIN ONJOIN HR_DEPARTMENT HD ON HE.DEPT_ID = HD.DEPT_ID 부서 ID 기준으로 사원 테이블과 부서 테이블 연결부서 이름을 함께 출력하기 위해 필요 ✅ AVG(SAL), ROUND(…, 0) AVG(SAL): 부서별 평균 연봉 계산ROUND(..., 0): 소수점 없이 정수로 반올림 ✅ GROUP BY HE...
SQL - 20250513
·
DB/SQL
🚗 SUV 평균 일일 대여 요금 구하기 – 쿼리 분석SELECT ROUND(AVG(DAILY_FEE)) AS AVERAGE_FEEFROM CAR_RENTAL_COMPANY_CARWHERE CAR_TYPE = 'SUV'; ✅ WHERE CAR_TYPE = ‘SUV’ CAR_TYPE이 'SUV'인 차량만 필터링대상 조건에 해당하는 행만 평균 계산에 포함 ✅ AVG(DAILY_FEE) DAILY_FEE(일일 대여 요금)의 평균값 계산 ✅ ROUND(…) 평균 결과를 소수 첫째 자리에서 반올림실수 → 정수로 반환됨 🐶 모든 동물 보호소 기록 조회 – 쿼리 분석SELECT ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKEF..
SQL - 20250508
·
DB/SQL
🌫️ 수원 지역 연도별 평균 미세먼지 농도 – 쿼리 분석SELECT EXTRACT(YEAR FROM YM) AS YEAR, ROUND(AVG(PM_VAL1), 2) AS PM10, ROUND(AVG(PM_VAL2), 2) AS 'PM2.5'FROM AIR_POLLUTIONWHERE LOCATION2 = '수원'GROUP BY EXTRACT(YEAR FROM YM)ORDER BY YEAR; ✅ EXTRACT(YEAR FROM YM) YM에서 연도만 추출GROUP BY와 SELECT에 동일하게 사용해 연도별 집계 수행 ✅ ROUND(AVG(PM_VAL1), 2) 미세먼지(PM10)의 평균값을 소수 둘째 자리까지 반올림AVG()는 집계 함수, ROUND(..., 2)로 정밀도 조..
SQL - 20250506
·
DB/SQL
💰 5월 식품들의 총매출 조회하기 – 쿼리 분석SELECT FD.PRODUCT_ID, FD.PRODUCT_NAME, SUM(FD.PRICE * FO.AMOUNT) AS TOTAL_SALESFROM FOOD_ORDER FOJOIN FOOD_PRODUCT FD ON FO.PRODUCT_ID = FD.PRODUCT_IDWHERE FO.PRODUCE_DATE BETWEEN '2022-05-01' AND '2022-05-31'GROUP BY FD.PRODUCT_ID, FD.PRODUCT_NAMEORDER BY TOTAL_SALES DESC, FD.PRODUCT_ID ASC; ✅ JOIN … ONJOIN FOOD_PRODUCT FD ON FO.PRODUCT_ID =..
동시성제어? 왜 두번해야함?
·
DB/RDBMS
DB가 다 해준다며? 그런데 왜 스프링에서도 동시성 제어를 해야 하지? 📚 시작하며 요즘 DB 스터디에서 『Real MySQL 8.0』을 읽으면서 MySQL에 대한 이해를 깊게 하고 있는데, 진짜 놀란 게 하나 있었다.“MySQL… 얘 동시성 제어에 진심이구나?” 정말 생각보다 정교하게 락(Lock)을 걸고,MVCC, 세마포어, Undo 로그, 트랜잭션 격리 수준 같은 기능으로동시에 발생하는 수많은 쿼리를 정확하게 처리하고 있었다. 그러던 중, 내가 참여 중이던 해커톤 프로젝트에서스프링 애플리케이션 쪽에서도 동시성 제어가 필요한 상황이 생겼다. 그래서 의문이 들었다.   ❓ 궁금했다 “DB에서 이렇게 철저하게 동시성 제어를 해주는데,왜 굳이 스프링에서도 락을 걸어야 하지?” 처음엔 이게 잘 이해되지 않..
JDBC로 배우는 단계별 프로젝트 개발: Ver 3과 Ver 4를 통해 얻은 깨달음 🚀
·
DB
프로젝트 개요: NewShophttps://github.com/GEISHAz/NewShop-jdbc-jpa-compare GitHub - GEISHAz/NewShop-jdbc-jpa-compare: 👀 JDBC와 JPA성능을 비교하기위한 간단 쇼핑몰 프로젝트 : A projec👀 JDBC와 JPA성능을 비교하기위한 간단 쇼핑몰 프로젝트 : A project to compare CRUD performance between JDBC and JPA using MySQL. - GEISHAz/NewShop-jdbc-jpa-comparegithub.com이번 프로젝트는 옷 쇼핑몰 시스템인 NewShop을 단계적으로 구현하며,JDBC와 JPA의 특징과 차이를 학습하는 데 초점을 맞췄습니다. Ver 1과 Ver 2..