mysql
-
UNION과 UNION ALL의 차이점DATABASE/Hive 2024. 9. 29. 11:57
프로젝트를 진행하면서 순위 관련 쿼리문을 자주 작성하다 보니, UNION과 UNION ALL에 대해 더 깊이 알아봐야겠다는 필요성을 느꼈다. 또한 중복된 데이터가 왜 필요한지, 그리고 주로 어떤 곳에 활용되는지에 대한 궁금증이 생겼다. 이를 통해 더 알아볼 필요가 있다고 생각했다. UNION과 UNION ALL 둘 다 두 개 이상의 쿼리 결과를 합치는 데 사용되지만, 중요한 차이점이 있다. 1. UNION (중복 제거)- 중복을 제거한다.- 결과 집합에서 중복된 행은 한 번만 나타난다. 1) 중복 제거가 필요한 경우/*여러 쿼리의 결과를 결합하면서 중복된 레코드를 제거하고 싶을 때 사용한다.예시로 두 개의 테이블에서 고객 데이터를 가져와서 고유한 고객 목록을 생성하고 싶을 때 적합하다.*/SELECT c..
-
HiveQL - SELECT 문DATABASE/Hive 2024. 6. 11. 21:53
중첩 SELECT 문상위 2개의 테이블을 사용하여 고객의 총 주문 금액을 계산하고, 총 주문 금액이 300,000원 이상인 고객을 선택하는 쿼리를 작성했다.SELECT a.고객ID ,a.이름 ,a.총_주문금액 FROM ( SELECT 고객.고객ID, 고객.이름, SUM(주문.주문금액) AS 총_주문금액 FROM 고객 JOIN 주문 ON 고객.고객ID = 주문.고객ID GROUP BY 고객.고객ID, 고객.이름 ) a # 서브쿼리를 이용하여 a라는 테이블로 임시 테이블을 생성WHERE a.총_주문금액 >= 300000 # 조건에 일치하는 데이터를LIMIT 10; # 상위 10위를 뽑아냄 결과 1) 서브쿼리의 결과는 다음과 같다.고객ID이름총_주문금액1김철수2..
-
GROUP BY - 동명 동물 수 찾기코테 2024. 4. 27. 22:50
문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N) F..
-
SUM, MAX, MIN - 최솟값 구하기코테 2024. 4. 26. 20:42
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N) FALSE문제..
-
SELECT - Python 개발자 구하기코테 2024. 4. 25. 23:06
문제 설명 DEVELOPER_INFOS 테이블은 개발자들의 프로그래밍 스킬 정보를 담은 테이블입니다. DEVELOPER_INFOS 테이블 구조는 다음과 같으며ID, FIRST_NAME, LAST_NAME, EMAIL, SKILL_1, SKILL_2, SKILL_3는각각 ID, 이름, 성, 이메일, 첫 번째 스킬, 두 번째 스킬, 세 번째 스킬을 의미합니다.NAME TYPE UNIQUE NULLABLEID VARCHAR(N) Y N # IDFIRST_NAME VARCHAR(N) N Y # 이름 LAST_NAME VARCHAR(N) N Y # 성EMAIL VARCHAR(N) Y N # 이메일SKILL_1 VARCHAR(N) N Y # 스킬 1SKILL_2 VARCHAR(N) N Y # 스킬 2SKILL_..
-
IS NULL - 경기도에 위치한 식품창고 목록 출력하기코테 2024. 4. 24. 23:56
문제 설명 다음은 식품창고의 정보를 담은 FOOD_WAREHOUSE 테이블입니다. FOOD_WAREHOUSE 테이블은 다음과 같으며 WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, TLNO, FREEZER_YN는 창고 ID, 창고 이름, 창고 주소, 전화번호, 냉동시설 여부를 의미합니다.Column name Type NullableWAREHOUSE_ID VARCHAR(10) FALSE # 창고 IDWAREHOUSE_NAME VARCHAR(20) FALSE # 창고 이름ADDRESS VARCHAR(100) TRUE # 주소TLNO VARCHAR(20) TRUE # 전화번호FREEZER_YN VARCHAR(1) TRUE # 냉동시설 여부 문제FOOD_WAREHOUS..
-
SELECT - 잔챙이 잡은 수 구하기코테 2024. 4. 23. 23:53
문제 설명 낚시앱에서 사용하는 FISH_INFO 테이블은 잡은 물고기들의 정보를 담고 있습니다.FISH_INFO 테이블의 구조는 다음과 같으며 ID, FISH_TYPE, LENGTH, TIME은 각각 잡은 물고기의 ID, 물고기의 종류(숫자), 잡은 물고기의 길이(cm), 물고기를 잡은 날짜를 나타냅니다.Column name Type Nullable ID INTEGER FALSE # 물고기 IDFISH_TYPE INTEGER FALSE # 물고기 종류LENGTH FLOAT TRUE # 물고기 길이TIME DATE FALSE # 잡은 날짜 단, 잡은 물고기의 길이가 10cm 이하일 경우에는 LENGTH 가 NULL 이며, LENGTH 에 NULL 만 있는 경우는 없습니다. 문제 ..
-
IS NULL - 잡은 물고기의 평균 길이 구하기코테 2024. 4. 22. 21:45
문제 설명 낚시앱에서 사용하는 FISH_INFO 테이블은 잡은 물고기들의 정보를 담고 있습니다.FISH_INFO 테이블의 구조는 다음과 같으며 ID, FISH_TYPE, LENGTH, TIME은 각각 잡은 물고기의 ID, 물고기의 종류(숫자), 잡은 물고기의 길이(cm), 물고기를 잡은 날짜를 나타냅니다.Column name Type Nullable ID INTEGER FALSE # 물고기 IDFISH_TYPE INTEGER FALSE # 물고기 종류LENGTH FLOAT TRUE # 물고기 길이TIME DATE FALSE # 잡은 날짜 단, 잡은 물고기의 길이가 10cm 이하일 경우에는 LENGTH 가 NULL 이며, LENGTH 에 NULL 만 있는 경우는 없습니다. 문제 ..