SQL 79

[TIL] 정규표현식(Regular Expression)

1. 정규표현식(Regular Expression) 정규식 표현은 문자열이 가지고 있는 규칙을 파악한 뒤 해당 규칙을 만족하는 문자만 추출할 때 활용된다. 즉, 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어를 말한다. 정규표현식을 활용하면 SQL 뿐만 아닌 Python, R 등 다양한 언어에서도 사용할 수 있으며, 여러 정규표현식을 섞어 사용하면 강력한 성능을 발휘한다는 장점이 있다. 2. 정규표현식 기본 문법- 문자/숫자/특수 기호 지정 표현식표현식설명\d숫자\D숫자가 아닌 모든 것\w글자 (영어, 숫자, 한글) + _ (언더바)\W글자가 아닌 모든 것 (특수기호, 공백)\s공백\t탭\n엔터[[:digit:]]숫자[[:alpha:]]문자[[:alnum:]]숫자 + 문자[[:punc..

[TIL] SQL 함수 및 연산자 정리

1. 집계 함수 (Aggregate Functions) 함수명 설명 COUNT()행의 개수를 반환SUM()총합 계산AVG()평균 계산MIN()최소값MAX()최대값GROUP_CONCAT()문자열 결합 (MySQL 전용)STDDEV()표준편차VARIANCE()분산 2. 문자열 함수 (String Functions) 함수명 설명 UPPER(), LOWER()대/소문자 변환LENGTH()바이트 단위 길이 (MySQL)CHAR_LENGTH(), CHARACTER_LENGTH()문자 단위 길이CONCAT()문자열 연결CONCAT_WS()구분자 포함 문자열 연결SUBSTRING(), SUBSTR()문자열 자르기LEFT(), RIGHT()왼쪽/오른쪽 자르기TRIM(), LTRIM(), RTRIM()공백 제거REPL..

[TIL] SQL 서브쿼리

1. 문 (Statement)SQL에서 하나의 명령을 의미하는 완전한 문장 즉, 실제로 실행 가능한 독립적인 단위를 말한다.SQL의 가장 큰 단위여러 절(clause)을 포함할 수 있음끝에 보통 ;(세미콜론)으로 구문 종료SELECT name FROM users WHERE age > 20;INSERT INTO users (name, age) VALUES ('John', 25);DELETE FROM users WHERE id = 1;2. 절 (Clause)SQL 문(statement)의 구성 요소로서, 특정 기능을 하는 구문 단위를 말한다(SELECT 문 안의 부분 명령).문을 구성하는 부속 요소각 절은 특정 역할(조회 대상, 조건, 정렬 등)을 함혼자서는 실행되지 않음-- 이 전체가 하나의 문(state..

[내일배움캠프] 스파르타코딩클럽 데이터 분석 트랙 수료 후기

2024.11.04 월요일 데이터 분석 부트캠프가 끝났다 이 카톡을 받은 게 엊그제 같은데 벌써..(߹-߹) 1. 내일배움캠프 이전의 삶 나는 심리학을 전공했는데 시간이 지날수록 심리학은 증맬루 나랑 맞지 않는다는 생각을 했다. 글치만 나는 4학년 막학기를 남기고 있는 졸업예정자.. 어떤 분야로 취업을 해야 될지도 모르겠고 밥 벌어먹고 살 수 있을지도 모르겠고 혼자 걱정 파티하고 있는 와중에 행안부랑 NIA에서 주관하는 데이터 분석 청년인재 양성 사업 공지 글을 보게 되었고, 그렇게 빅데이터 분석이라는 분야에 발을 들이게 되었다. 사실 청년인재 양성 사업이라고 해서 처음부터 차근차근 가르쳐줄 거라고 생각했는데.. 전혀 아니었다... 인턴 연계형 사업이라 파이썬, SQL 등 분석 툴을 다룰 수 있어야 하는..

카테고리 없음 2024.11.08

[프로그래머스] 문제 55. 조건에 맞는 사용자 정보 조회하기

20240704 풀이-- 코드를 입력하세요SELECT B.USER_ID , B.NICKNAME , CONCAT(B.CITY, ' ', B.STREET_ADDRESS1, ' ', B.STREET_ADDRESS2) '전체주소' , CONCAT(SUBSTR(B.TLNO, 1, 3), '-', SUBSTR(B.TLNO, 4, 4), '-', SUBSTR(B.TLNO, 8, 4)) '전화번호'FROM USED_GOODS_BOARD A JOIN USED_GOODS_USER B ON A.WRITER_ID = B.USER_IDGROUP BY B.USER_IDHAVING COUNT(A.WRITER_ID) >= 3ORDER BY 1 DESC20240820 풀이-- 중고 거래 게시물 3건 이상 등록-..

Code Kata/SQL 2024.08.20

[프로그래머스] 문제 54. 최댓값 구하기

20240704 풀이-- 코드를 입력하세요SELECT MAX(DATETIME)FROM ANIMAL_INS20240820 풀이-- 가장 최근에 들어온 동물-- 들어온 날짜 조회SELECT MAX(DATETIME) AS '시간'FROM ANIMAL_INS;20250605 풀이-- 가장 최근에 들어온 동물의 DATETIMESELECT *FROM ANIMAL_INS;SELECT DATETIMEFROM ANIMAL_INSORDER BY DATETIME DESCLIMIT 1; https://school.programmers.co.kr/learn/courses/30/lessons/59415 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합..

Code Kata/SQL 2024.08.20

[프로그래머스] 문제 53. 재구매가 일어난 상품과 회원 리스트 구하기

20240709 풀이-- 코드를 입력하세요SELECT USER_ID , PRODUCT_IDFROM ONLINE_SALEGROUP BY USER_ID , PRODUCT_IDHAVING COUNT(*) > 1ORDER BY 1, 2 DESC20240820 풀이-- 동일한 회원이 동일한 상품 재구매-- 재구매한 회원 ID, 상풍 ID 출력-- 회원 ID 기준으로 오름차순-- 회원 ID 같으면 상품 ID 기준으로 내림차순SELECT USER_ID , PRODUCT_IDFROM ONLINE_SALEGROUP BY USER_ID , PRODUCT_IDHAVING COUNT(*) > 1ORDER BY USER_ID , PRODUCT_ID DESC;20250605 풀이--..

Code Kata/SQL 2024.08.20

[프로그래머스] 문제 52. 과일로 만든 아이스크림 고르기

20240704 풀이-- 코드를 입력하세요SELECT A.FLAVORFROM FIRST_HALF A JOIN ICECREAM_INFO B ON A.FLAVOR = B.FLAVORWHERE B.INGREDIENT_TYPE = 'FRUIT_BASED' AND A.TOTAL_ORDER >= 300020240820 풀이-- 총 주문량이 3000이상-- 주 성분이 과일-- 총 주문량이 큰 순서SELECT *FROM FIRST_HALF;SELECT *FROM ICECREAM_INFO;SELECT A.FLAVORFROM FIRST_HALF A JOIN ICECREAM_INFO B ON A.FLAVOR = B.FLAVORWHERE B.INGREDIENT_TYPE IN ('fruit_based') AND A.TO..

Code Kata/SQL 2024.08.20

[프로그래머스] 문제 51. 없어진 기록 찾기

20240704 풀이-- 코드를 입력하세요SELECT B.ANIMAL_ID , B.NAMEFROM ANIMAL_INS A RIGHT JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_IDWHERE A.ANIMAL_ID IS NULL AND B.ANIMAL_ID IS NOT NULL20240820 풀이-- 입양 기록은 있고-- 보호소 들어온 기록은 없는-- 동물의 ID, 이름-- ID 순서로 조회SELECT *FROM ANIMAL_INS;SELECT *FROM ANIMAL_OUTS;SELECT B.ANIMAL_ID , B.NAMEFROM ANIMAL_INS A RIGHT JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_IDWH..

Code Kata/SQL 2024.08.20

[프로그래머스] 문제 50. 5월 식품들의 총매출 조회하기

20240704 풀이-- 코드를 입력하세요SELECT A.PRODUCT_ID , A.PRODUCT_NAME , SUM(A.PRICE * B.AMOUNT) TOTAL_SALESFROM FOOD_PRODUCT A JOIN FOOD_ORDER B ON A.PRODUCT_ID = B.PRODUCT_IDWHERE YEAR(PRODUCE_DATE) = 2022 AND MONTH(PRODUCE_DATE) = 5GROUP BY PRODUCT_IDORDER BY 3 DESC , 120240819 풀이-- 생산일자 2022년 5월-- 식품 ID, 식품 이름, 총매출-- 총매출을 기준으로 내림차순-- 총매출이 같다면 식품 ID를 기준으로 오름차순SELECT *FROM FOOD_PRODUCT;SE..

Code Kata/SQL 2024.08.19

[프로그래머스] 문제 49. 식품분류별 가장 비싼 식품의 정보 조회하기

20240709 풀이-- 코드를 입력하세요SELECT CATEGORY , PRICE , PRODUCT_NAMEFROM FOOD_PRODUCTWHERE (CATEGORY, PRICE) IN (SELECT CATEGORY , MAX(PRICE) MAX_PRICEFROM FOOD_PRODUCTWHERE CATEGORY IN ('과자', '국', '김치', '식용유')GROUP BY CATEGORY)ORDER BY PRICE DESC20240819 풀이-- 식품분류 별-- 가격이 제일 비싼-- 식품의 분류, 가격, 이름 조회-- 식품 분류 '과자', '국', '김치', '식용유'-- 식품 가격을 기준으로 내림차순SELECT *FROM FOOD_PRODUCTWITH A AS ( ..

Code Kata/SQL 2024.08.19

[프로그래머스] 문제 48. 즐겨찾기가 가장 많은 식당 정보 출력하기

20240709 풀이-- 코드를 입력하세요SELECT FOOD_TYPE , REST_ID , REST_NAME , FAVORITESFROM REST_INFOWHERE (FOOD_TYPE, FAVORITES) IN (SELECT FOOD_TYPE , MAX(FAVORITES) FAVORITESFROM REST_INFOGROUP BY FOOD_TYPE)ORDER BY FOOD_TYPE DESC202040819 풀이-- 음식 종류별-- 즐겨찾기 수 가장 많은 식당-- 음식 종류, ID, 이름, 즐겨찾기 수-- 음식 종류를 기준으로 내림차순SELECT *FROM REST_INFO;WITH A AS( SELECT FOOD_TYPE , MAX(FAVORITES)..

Code Kata/SQL 2024.08.19

[프로그래머스] 문제 47. 모든 레코드 조회하기

20240703 풀이-- 코드를 입력하세요SELECT *FROM ANIMAL_INSORDER BY ANIMAL_ID202040819 풀이-- 모든 동물 정보 조회-- 동물 ID 순서로SELECT *FROM ANIMAL_INSORDER BY ANIMAL_ID;20250506 풀이-- 모든 동물 정보-- ANIMAL_ID 순SELECT *FROM ANIMAL_INS;SELECT *FROM ANIMAL_INSORDER BY ANIMAL_ID; https://school.programmers.co.kr/learn/courses/30/lessons/59034 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받..

Code Kata/SQL 2024.08.19

[프로그래머스] 문제 46. 대여 기록이 존재하는 자동차 리스트 구하기

20240703 풀이-- 코드를 입력하세요SELECT DISTINCT A.CAR_IDFROM CAR_RENTAL_COMPANY_CAR A JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY B ON A.CAR_ID = B.CAR_IDWHERE A.CAR_TYPE = '세단' AND MONTH(START_DATE) = 10ORDER BY 1 DESC20240819 풀이-- 자동차 종류 '세단'-- 10월에 대여 시작-- 자동차 ID 중복 없이-- 자동차 ID 내림차순 정렬SELECT *FROM CAR_RENTAL_COMPANY_CAR;SELECT *FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY;SELECT DISTINCT(A.CAR_ID)FROM CAR_RENT..

Code Kata/SQL 2024.08.19

[프로그래머스] 문제 45. 3월에 태어난 여성 회원 목록 출력하기

20240702 풀이-- 코드를 입력하세요SELECT MEMBER_ID , MEMBER_NAME , GENDER , DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d')FROM MEMBER_PROFILEWHERE TLNO IS NOT NULL AND GENDER = 'W' AND MONTH(DATE_OF_BIRTH) = 3ORDER BY MEMBER_ID20240816 풀이-- 생일이 3월-- 여성 회원-- 회원 ID, 이름, 성별, 생년월일 조회-- 전화번호가 NULL이면 제외-- 회원 ID를 기준으로 오름차순SELECT *FROM MEMBER_PROFILE;SELECT MEMBER_ID , MEMBER_NAME , GENDER , DATE..

Code Kata/SQL 2024.08.16