SQL 34

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

SQL 정규 표현식데이터베이스에서 패턴 매칭을 수행할 때 사용된다.주로 텍스트 데이터의 특정 패턴을 검색하거나 필터링할 때 활용된다.데이터베이스 시스템에 따라 다양한 방법으로 구현된다.기본 패턴 매칭LIKE 연산자를 사용하여 간단한 패턴 매칭을 수행할 수 있다.%: 임의의 문자 시퀀스를 매칭한다._: 임의의 한 문자를 매칭한다.예시: SELECT * FROM users WHERE name LIKE 'A%' (이름이 'A'로 시작하는 데이터를 검색한다)정규 표현식 사용MySQL, PostgreSQL, Oracle 등 일부 데이터베이스는 정규 표현식 기반의 고급 패턴 매칭을 지원한다.정규 표현식은 텍스트를 패턴으로 설명하며, 예를 들어 '^[A-Za-z]+$'는 알파벳 문자열을 의미한다.데이터베이스별 정규 ..

SQL 2025.01.12

[SQL] 가독성 높이기

# 예약어는 대문자로 작성하기SELECT, FROM, GROUP BY, HAVING, AS, AND와 같은 SQL 예약어들은 대문자로 작성한다. # 자주 행갈이 하기한 라인에 코드를 쭉 작성하지 않고, 자주 행갈이를 한다.SELECT, FROM, GROUP BY와 같이 다른 절을 한 라인에 작성하지 않는다. # 행갈이를 더 자주 하기라인을 주석처리 하여 특정 컬럼을 로직에서 제외할 수 있도록 컬럼별로 행갈이를 한다.WHERE 절에서도 AND, OR이 붙을 때바다 행갈이를 한다. # 주석 사용하기코드를 읽었을 때 이해할 수 있도록 각 코드 단락이 어떤 의도로 작성되었는지 디테일을 적는다.서브쿼리 단위나, CASE, IF 조건문 또는 WHERE절 필터링 조건을 쓸 때 주석을 적는다.다음과 같은 내용을 적는다..

SQL 2025.01.08

[SQL] solvesql Advent of SQL 2024 25일차

# 링크solvesql Advent of SQL 2024: https://solvesql.com/collections/advent-of-sql-2024/ https://solvesql.com/collections/advent-of-sql-2024/ solvesql.com25일차 - 메리 크리스마스 2024: https://solvesql.com/problems/merry-christmas-2024/ https://solvesql.com/problems/merry-christmas-2024/ solvesql.com  # 풀이SELECT 'Merry Christmas!'SELECT 'Merry Christmas!': 'Merry Christmas!' 문자열을 반환한다.

[SQL] solvesql Advent of SQL 2024 24일차

# 링크solvesql Advent of SQL 2024: https://solvesql.com/collections/advent-of-sql-2024/ https://solvesql.com/collections/advent-of-sql-2024/ solvesql.com24일차 - 세 명이 서로 친구인 관계 찾기:https://solvesql.com/problems/friend-group-of-3/ https://solvesql.com/problems/friend-group-of-3/ solvesql.com  # 풀이SELECT DISTINCT e1.user_a_id AS user_a_id, e1.user_b_id AS user_b_id, e2.user_b_id AS user_c_idFROM ed..

[SQL] solvesql Advent of SQL 2024 23일차

# 링크solvesql Advent of SQL 2024: https://solvesql.com/collections/advent-of-sql-2024/ https://solvesql.com/collections/advent-of-sql-2024/ solvesql.com23일차 - 유량(Flow)와 저량(Stock):https://solvesql.com/problems/flow-and-stock/ https://solvesql.com/problems/flow-and-stock/ solvesql.com  # 풀이WITH acquisition_data AS ( SELECT strftime ('%Y', acquisition_date) AS acquisition_year, COUNT(*..

[SQL] solvesql Advent of SQL 2024 22일차

# 링크solvesql Advent of SQL 2024: https://solvesql.com/collections/advent-of-sql-2024/ https://solvesql.com/collections/advent-of-sql-2024/ solvesql.com22일차 - 친구 수 집계하기: https://solvesql.com/problems/number-of-friends/ https://solvesql.com/problems/number-of-friends/ solvesql.com # 풀이WITH normalized_edges AS ( SELECT CASE WHEN user_a_id normalized_edges CTESELECTCASE WHEN user_a_i..

[SQL] solvesql Advent of SQL 2024 21일차

# 링크solvesql Advent of SQL 2024: https://solvesql.com/collections/advent-of-sql-2024/ https://solvesql.com/collections/advent-of-sql-2024/ solvesql.com21일차 - 세션 유지 시간을 10분으로 재정의하기: https://solvesql.com/problems/redefine-session-2/ https://solvesql.com/problems/redefine-session-2/ solvesql.com  # 풀이WITH user_events AS ( SELECT user_pseudo_id, event_timestamp_kst, event_name, ..

[SQL] solvesql Advent of SQL 2024 20일차

# 링크solvesql Advent of SQL 2024: https://solvesql.com/collections/advent-of-sql-2024/ https://solvesql.com/collections/advent-of-sql-2024/ solvesql.com20일차 - 미세먼지 수치의 계절간 차이: https://solvesql.com/problems/finedust-seasonal-summary/ https://solvesql.com/problems/finedust-seasonal-summary/ solvesql.com  # 풀이WITH seasonal_data AS ( SELECT CASE WHEN measured_at BETWEEN '2022-03-01' A..

[SQL] solvesql Advent of SQL 2024 19일차

# 링크solvesql Advent of SQL 2024: https://solvesql.com/collections/advent-of-sql-2024/ https://solvesql.com/collections/advent-of-sql-2024/ solvesql.com19일차 - 전국 카페 주소 데이터 정제하기:https://solvesql.com/problems/refine-cafe-address/ https://solvesql.com/problems/refine-cafe-address/ solvesql.com  # 풀이SELECT TRIM(SUBSTR(address, 1, INSTR(address, ' ') - 1)) AS sido, TRIM( SUBSTR( address, ..

[SQL] INSTR()

# INSTR()특정 문자열 내에서 특정 문자가 처음으로 나타나는 위치를 찾는다.찾고자 하는 문자의 위치를 반환한다.문자열에서 찾은 문자의 인덱스를 기준으로 계산된다. # 기본 구문INSTR(string, substring, start_position, match_occurance)string: 검색을 수행할 원본 문자열substring: 찾고자 하는 부분 문자열 또는 문자start_position: 검색을 시작할 위치. 기본값은 1이며, 이 값을 1보다 작은 값으로 설정하면 문자열의 끝에서부터 검색한다.match_occurance: 찾고자 하는 부분 문자열의 몇 번째 발생 위치를 찾을 것인지 지정한다. 기본값은 1이며, 첫 번째로 나타나는 위치를 반환한다. # 반환값INSTR()은 부분 문자열이 첫 번..

SQL 2024.12.19
728x90