SQL 12

#11 WHERE 절

목차WHERE 절WHERE 절은 테이블에서 조건에 맞는 행(row)만 필터링하는 구문이다.SELECT, UPDATE, DELETE 문에서 사용되며, 조건을 만족하는 데이터만 결과에 포함되거나, 수정 또는 삭제 대상으로 지정된다. ✅ 기본 문법SELECT 컬럼명FROM 테이블명WHERE 조건; ✅ 사용 가능한 조건 종류비교 연산자조건 유형예시설명비교 연산자=, !=, >, =, 숫자, 문자열, 날짜 비교논리 연산자AND, OR, NOT조건 여러 개 조합범위 조건BETWEEN a AND ba 이상 b 이하 범휘집합 조건IN(a, b, c)여러 값 중 하나 포함 여부패턴 조건LIKE '%abc%'문자열 패턴 검색NULL 조건IS NULL, IS NOT NULL값 존재 여부 판단 ✅ WHERE 예제 모음-- 1..

SQL/SQLD 2025.04.10

#10 함수

목차함수수학에서 함수는 다음과 같이 표현할 수 있다.:f(x) = 3x + 2이 식에서 x에 1을 넣으면 결과는 5가 된다.즉, 입력(input)이 주어졌을 때 고정된 방식으로 결과(output)이 결정되는 것이 함수의 핵심이다.프로그래밍에서도 함수는 입력값에 따라 결과값을 반환하는 구조이며, SQL에서도 이와 비슷한 개념의 내장 함수들이 존재한다. SQL 함수란?SQL에서의 함수는 컬럼 값이나 표현식을 입력으로 받아, 그에 따른 결과를 반환하는 도구이다.SQL 함수는 데이터를 조회하거나 가공할 때 자주 사용되며, 특정 조건이나 형식에 따라 결과를 다르게 만들 수 있다. 대표적으로 UPPER(), LOWER(), CONCAT(), SUBSTRING()등이 있다.문자 함수CHR(ASCII코드)/ CHAR(..

SQL/SQLD 2025.04.10

#9 SQL

목차데이터베이스우리가 살아가는 세상에는 상상할 수 없을 만큼 방대한 양의 데이터가 존재하며, 지금 이 순간에도 끊임없이 새로운 데이터가 생겨나고 있다.예를들어, 아침마다 타는 지하철이 몇 시 몇 분에 어느역으로 도착하는지, 오늘 학교 식당의 메뉴는 무엇인지 같은 정보들도 모두 데이터다.이처럼 일상 속에서 생성되는 수많은 정보들을 효율적으로 저장하고 관리하는 공간이 바로 데이터베이스이다. 관계형 데이터베이스 (RDB: Relational Database)모든 데이터를 행(Row)과 열(Column)로 이루어진 테이블(Table) 형태로 저장하는 방식을 말한다.서로 다른 테이블끼리도 관계(Relation)를 맺어 데이터를 조합해서 활용이 가능하다. 이러한 RDB를 관리, 감독하기 위한 시스템을 RDBMS(R..

SQL/SQLD 2025.04.07

#8 트랜잭션과 NULL

목차트랜잭션(Transaction)트랜잭션은 데이터베이스에서 하나의 작업 단위를 말한다.여러 개의 데이터 처리 작업들을 하나로 묶어서, 전부 성공하거나 실패하도록 만드는 것이다. 왜 트랜잭션이 필요할까?데이터베이스는 정합성과 일관성을 지켜야 한다.하지만 여러 작업을 하다가 중간에 실패하면 데이터가 꼬일 수 있다. 예를 들어:은행계좌 이체 로직- "A 계좌에서 10만 원 출금"-"B 계좌에 10만원 입금" 이 둘은 항상 함께 이루어져야 한다. 하지만 출금은 됐는데 입금이 실패한다면?...-> 돈이 사라진다이는 정합성 붕괴를 말하며, 이를 방지하기 위해 트랜잭션이 필요하다. 트랜잭션의 특징A- 원자성 (Atomicity) : 트랜잭션은 전부 실행되거나 전혀 실행되지 않아야 한다.C- 일관성 (Consiste..

SQL/SQLD 2025.04.07

#7 반정규화(De-Normalization)

목차  반정규화데이터의 조회 성능을 향상시키기 위해 데이터의 중복을 허용하거나 데이터를 그룹핑하는 과정이다.반정규화 과정은 거치면 조회 성능은 향상될 수 있으나 입력, 수정, 삭제 성능은 저하될 수 있으며 데이터 정합성 이슈가 발생할 수 있다는 점이다. 정합성(整合性, Data Integrity)데이터가 일관성 있고, 정확하며 신뢰할 수 있는 상태를 유지하는 것을 말한다.즉, 데이터베이스에 저장된 데이터들이 논리적으로 모순 없이 서로 잘 들어맞고, 데이터의 상태가 시스템이 기대하는 규칙과 조건들을 잘 만족하고 있다는 뜻이다.만약 정합성이 무너진다면???- 고객의 계좌 잔액이 실제보다 더 많거나 적게 표시됨.- 주문 내역은 있는데 사용자 정보가 없음.- 중복 데이터, 누락된 데이터 발생.- 잘못된 통계를 ..

SQL/SQLD 2025.04.06

[프로그래머스, SQL, Oracle] 평균 일일 대여 요금 구하기

목차 문제 설명다음은 어느 자동차 대여 회사에서 대여중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블입니다. CAR_RENTAL_COMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS 는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다. Column nameTypeNullableCAR_IDINTEGERFALSECAR_TYPEVARCHAR(255)FALSEDAILY_FEEINTEGERFALSEOPTIONSVARCHAR(255)FALSE 자동차 종류는 '세단', 'SUV', '승합차', '트럭', '리무진' 이 있습니다. 자동차 옵션 리스트는 콤마(',')로 구분된 키..

#6 정규화(Normalization)

목차정규화 Normalization데이터의 정합성(정확성과 일관성을 유지하며 보장)을 위해 엔터티를 작은 단위로 분리하는 과정이다. 정규화 시... : 입력, 수정, 삭제 성능은 향상된다고 보지만 데이터 조회 성능은 처리 조건에 따라 향상되는 경우도 있고 저하되는 경우도 있다. 하지만  모든 엔터티를 무작정 분리하면 안 된다. (제 1 정규형)모든 속성(컬럼)은 반드시 원자 값(atomic value)을 가져야 한다. 즉, 하나의 속성은 하나의 값만 포함해야 하며, 반복 그룹이나 배열 형태로 데이터를 저장하면 안 된다.예제아래와 같이 "이름"과 "국가"라는 속성을 가진 테이블이 있다고 하자. 이때 "국가" 열에 여러 개의 값이 하나의 셀에 들어가 있는 상태는 1NF를 위반한 사례다.이름국가권00대한민국,..

SQL/SQLD 2024.12.06

#5 데이터 모델링(식별자)

목차식별자란모든 엔터티는 인스턴스를 가지고 있고 인스턴스는 속성으로 자신의 특성을 나타낸다. 식별자는 이런 속성 중에 각각의 인스턴스를 구분 가능하게 만들어주는 대표적인 속성을 말한다. 주식별자주식별자는 기본키에 해당하는 속성인데, 하나의 속성이 주식별자가 될 수 있고 여러 개의 속성이 주식별자가 될 수 있다.유일성각 인스턴스에 유니크함을 부여하여 각 인스턴스 별로 식별이 가능하게 해야한다.최소성유일성을 보장하는 최소 개수의 속성이어야한다.불변성속성값이 되도록 변하지 않아야 한다.존재성속성값은 NULL일 수 없다.분류식별자를 분류하는 방식은 여러 가지이다. 1. 대표성 여부주식별자(Primary Identifier)-유일성, 최소성, 불변성, 존재성을 가진 대표 식별자-다른 엔터티와 참조 관계로 연결보조..

SQL/SQLD 2024.07.15

#4 데이터 모델링(관계)

관계(Relationship)란?시작하기 전에 엔터티와 객체 그리고 인스턴스에 대해 조금 알고가자..엔터티, 객체, 그리고 인스턴스는 각기 다른 컴퓨터 과학적인 개념이며, 조금씩 다른 의미를 가지고 있습니다.1.엔터티 데이터베이스 설계에서 주로 사용되는 용어로, 현실 세계에서 독립적으로 식별 가능한 사물이나 개념을 나타냅니다. 데이터베이스에서 엔터티는 테이블을 기반으로 데이터의 구조를 정의하는 데 사용됩니다.2.객체객체지향 프로그래밍에서 사용되는 개념으로, 속성(상태)과 메서드(동작)를 가지는 소프트웨어 개체를 나타냅니다. 클래스(Class)에 의해 정의된 구체적인 데이터 구조를 가진 개체입니다.3.인스턴스객체지향 프로그래밍에서 클래스(Class)를 기반으로 생성된 실제 데이터를 의미합니다. 클래스는 객..

SQL/SQLD 2024.07.09

#3 데이터 모델링(속성)

목차속성이란?우리가 무언가(사람, 사물)을 정의할 때 보통 여러 가지 특징들이 수식어로 붙게 되는 것을 볼 수 있다. 예를 들어 우리 사람에게는 이름, 주민번호, 전화번호 등 수식어가 붙는데 이렇게 사물이나 개념의 특징을 설명해 줄 수 있는 것들을 속성이라고 부른다.그리고 이러한 속성은 더 이상 분해가 되지 않아야 하며, 필요한 항목이어야 한다. 사람이라는 엔터티에 국적이라는 속성으로 예를 들 수 있다. 속성값각각의 객체(엔터티)가 가질 수 있는 속성들은 속성값들을 가지는데 엔터티에 속한 하나의 인스턴스를 구체적으로 나타내주는 데이터라고 볼 수 있다.속성속성값이름홍길동국적대한민국전화번호010-1234-5678 하지만 각 속성은 하나의 속성값만을 가질 수 있다. 만약 하나의 속성이 여러 개의 속성값을 갖는..

SQL/SQLD 2024.07.08