| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 케이티 에이블스쿨 6기 ai
- kt aivle school
- 오블완
- 앙상블
- 판다스
- 프로그래머스
- KT AIVLE
- kt 에이블스쿨 6기 ai
- 백준
- 케이티 에이블스쿨 6기 후기
- 케이티 에이블스쿨 6기
- kt 에이블스쿨 6기 빅프로젝트
- kt 에이블스쿨 기자단
- 데이터 프레임
- 엘라스틱서치
- 티스토리챌린지
- ElasticSearch
- 구현
- 머신러닝
- 케이티 에이블스쿨 기자단
- 케이티 에이블스쿨 6기 java
- 케이티 에이블스쿨
- KT 에이블스쿨
- 에이블 기자단
- kt 에이블스쿨 6기 미니 프로젝트
- 알고리즘
- kt 에이블스쿨 6기
- SQLD
- 파이썬
- 네트워크
- Today
- Total
목록SQL (11)
미식가의 개발 일기
문제 2번 형질이 보유하지 않으면서 1번이나 3번 형질을 보유하고 있는 대장균 개체의 수(COUNT)를 출력각 대장균 별 형질을 2진수로 나타내면 다음과 같습니다.ID 1 : 1000₍₂₎ID 2 : 1111₍₂₎ID 3 : 1₍₂₎ID 4 : 1101₍₂₎각 대장균 별 보유한 형질을 다음과 같습니다.ID 1 : 4ID 2 : 1, 2, 3, 4ID 3 : 1ID 4 : 1, 3, 4 해결 방법비트 연산자 &를 사용해 이진수로 바꿔 계산해야 하며 아래 표는 각 비트가 켜졌을 때의 정수값을 나타낸 것이다. 첫 번째 형질(비트)0001 > 1두 번째 형질(비트)0010 > 2세 번째 형질(비트)0100 > 4두 번째 비트는 꺼져 있어야 하고, 첫 번째와 세 번째 비트는 켜져 있어야 하므로 (GENOTYPE ..
문제 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(RENT_TYPE)을 추가하여 대여기록을 출력대여 기록 ID를 기준으로 내림차순 정렬TART_DATE와 END_DATE의 경우 예시의 데이트 포맷과 동일하게 처리 해결 방법데이트 포맷 설정(2025-04-19 형태) → `DATE_FORMAT(target_date, '%Y-%m-%d')`RENT_TYPE 컬럼 추가 → CASE문으로 조건 지정, DATEDIFF를 사용해 두 날짜의 차분을 구한 후 30 이상이면 장기 대여, 아니면 단기 대여로 표기(차분은 두 날짜의 간격을 구하므로 시작 날짜는 계산에 포함하지 않는다. 따라서 차분 값에 +1을 해줘야 한다..
문제 잡은 물고기의 평균 길이를 AVERAGE_LENGTH 컬럼으로 출력평균 길이는 소수점 3째자리에서 반올림하며, 10cm 이하의 물고기들은 10cm 로 취급(단, 잡은 물고기의 길이가 10cm 이하일 경우에는 LENGTH 가 NULL) 해결 방법NULL값을 10으로 대체 → `IFNULL(LENGTH, 10)`평균 길이를 소수점 3째자리에서 반올림 → `ROUND(SUM(IFNULL(LENGTH, 10)) / COUNT(*), 2)` 정답SELECT ROUND(SUM(IFNULL(LENGTH, 10)) / COUNT(*), 2) AS AVERAGE_LENGTHFROM FISH_INFO
문제 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회냉동시설 여부가 NULL인 경우, 'N'으로 출력창고 ID를 기준으로 오름차순 정렬 해결 방법ADRESS가 경기도로 시작하는 컬럼 필터링 → `WHERE ADDRESS LIKE '경기%'`NULL값 'N'으로 대체 → `IFNULL(FREEZER_YN, 'N')`오름차순 정렬→ `ORDER BY WAREHOUSE_ID` 정답SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, 'N') AS FREEZER_YNFROM FOOD_WAREHOUSEWHERE ADDRESS LIKE '경기%'ORDER BY WAREHOUSE_ID
문제 FISH_INFO 테이블에서 잡은 물고기 중 가장 큰 물고기의 길이를 'cm' 를 붙여 출력하기이 때 컬럼명은 'MAX_LENGTH' 로 지정해야 하고, NULL값은 제외하고 출력 해결 방법MAX 함수로 LENGTH 컬럼의 최대값을 구한다. → `MAX(LENGTH)`CONCAT 함수로 'cm'를 붙여준다. → `CONCAT(MAX(LENGTH), 'cm')` 정답SELECT CONCAT(MAX(LENGTH),'cm') AS MAX_LENGTHFROM FISH_INFO
1️⃣ 조인(JOIN)이란? "2개 이상의 테이블들을 연결하는 것" 💡 등가 조인(EQUI JOIN)두 테이블의 컬럼 값이 정확히 일치하는 경우// WHERE 절에 조인 조건(구식)SELECT 테이블1.컬럼명, 테이블2.컬럼명FROM 테이블1, 테이블2WHERE 테이블1.컬럼명1 = 테이블2.컬럼명2; // ON 절에 조인 조건(명시적 조인) SELECT 테이블1.컬럼명, 테이블2.컬럼명FROM 테이블1INNER JOIN 테이블2ON 테이블1.컬럼명1 = 테이블2.컬럼명2; 💡 비등가 조인(Non EQUI JOIN)두 테이블의 컬럼 값이 일치하지 않는 경우// 컬럼명1과 컬럼명2 범위 사이에 있을 때만 결합SELECT 테이블1.컬럼명, 테이블2.컬럼명FROM 테이블1, 테이블2WHERE 테이블1.컬..
1️⃣ 집계 함수 - 여러 행들이 모여 그룹 당 단 하나의 결과를 돌려주는 함수- SELECT 절, HAVING 절, ORDER BY 절에 사용 `COUNT(*)`: NULL값 포함 행의 수`COUNT(표현식)`: 표현식의 NULL값을 제외한 행의 수`SUM(표현식)`: 표현식의 NULL 값을 제외한 합계`AVG(표현식)` : 표현식의 NULL 값을 제외한 평균`MAX(표현식)` : 표현식의 최댓값`MIN(표현식)` : 표현식의 최소값`STDDEV(표현식)` : 표현식의 표준 편차`VARIAN(표현식)`: 표현식의 분산 2️⃣ GROUP BY 절FROM 절과 WHERE 절 뒤에 오며 소그룹에 대한 통계를 얻을 때 사용SELECT [DISTINCT] 컬럼명 [ALIAS명] FROM 테이블명 [WHERE ..
SQL 내장 함수란?SQL 언어에서 미리 제공하는 함수로, 특정 작업을 간편하게 수행할 수 있도록 도와줌 Oracle 함수/SQL Server 함수로 표시했고, '/'이 없는 것은 공통 함수 입니다.1️⃣ 문자형 함수`LOWER(문자열)`: 알파벳 소문자로 변환 `UPPER(문자열)`: 알파벳 대문자로 변환 `ASCII(문자)`: ASCII 코드로 변환 `CONCAT(문자열1, 문자열2)`: 문자열 연결`SUBSTR / SUBSTRING(문자열, m, [n])`: m위치에서 n개까지의 문자 반환, n이 없으면 끝까지 `LENGTH / LEN(문자열)`: 문자열 길이`TRIM([leading | trailing | both] 지정 문자 FROM 문자열)`: 머리말, 꼬리말, 양쪽의 지정 문자 제거(SQL ..