SQL 6

서브쿼리(스칼라 서브쿼리, 인라인 뷰, 중첩 서브쿼리)

서브쿼리는 쿼리 안에 또 다른 쿼리를 포함한 구조를 말합니다. 이 서브쿼리를 스칼라 서브쿼리, 인라인 뷰, 중첩 서브쿼리로 구분하는 이유는, 각각의 서브쿼리가 실행되는 방식과 결과가 다르기 때문입니다.1. 스칼라 서브쿼리 (Scalar Subquery)정의:하나의 값(단일 스칼라 값)을 반환하는 서브쿼리.주로 SELECT 목록이나 WHERE 절 등에서 단일 값이 필요한 곳에 사용됩니다.특징:서브쿼리 실행 결과가 항상 하나의 값이어야 합니다.결과가 여러 행이나 값이 없으면 오류가 발생하거나 NULL로 처리됩니다.예시SELECT EMPNO, ENAME, SAL, (SELECT AVG(SAL) FROM EMP) AS AVG_SALFROM EMP;설명:(SELECT AVG(SAL) FROM EMP)는..

SQL 2024.11.17

절차적언어와 비절차적언어

절차적 언어와 비절차적 언어의 차이SQL과 DBMS에서 사용하는 언어는 절차적 언어와 비절차적 언어로 나눌 수 있습니다. 이 두 언어는 데이터 처리 방식과 설계 철학에서 차이가 있으며, 각각의 장점과 용도가 다릅니다. 다음은 주요 특징과 예시입니다.1. 비절차적 언어 (Non-Procedural Language)정의사용자가 "무엇을 할 것인가?"만 기술하며, "어떻게 처리할지"는 DBMS가 자동으로 결정하는 언어입니다.데이터 검색과 조작에 필요한 결과를 간단히 표현할 수 있어 직관적이고 생산성이 높습니다.특징사용자는 데이터 처리 절차를 고려하지 않아도 됩니다.DBMS가 최적의 실행 계획(Execution Plan)을 자동으로 생성해 데이터를 처리합니다.일반적으로 SQL과 같은 언어가 비절차적 언어에 해당..

SQL 2024.11.16

MOD함수와 %

SQL에서는 나머지 연산을 수행할 때 MOD 함수와 % 연산자를 사용할 수 있습니다. 하지만 이 두 방식은 사용되는 DBMS와 문법에서 차이가 있기 때문에 적절히 사용해야 합니다. 오늘은 MOD 함수와 % 연산자의 차이점과 사용법을 간단히 정리해보겠습니다.1. MOD 함수란?MOD는 Modulus(나머지)를 의미하며, 표준 SQL에서 제공하는 함수입니다. 이 함수는 피제수(나누어지는 수)와 제수(나누는 수)를 받아 나머지를 반환합니다.사용법:MOD(피제수, 제수)예시 (Oracle, PostgreSQL 등에서 사용 가능):SELECT MOD(10, 3) AS 나머지 FROM DUAL;결과: 1 (10 ÷ 3의 나머지)2. % 연산자란?%는 SQL Server에서만 사용 가능한 연산자로, 피제수와 제수의 ..

SQL 2024.11.15

데이터 모델링 & ER다이어그램

데이터 모델링과 ER 다이어그램데이터 모델링과 ER 다이어그램은 데이터베이스 설계에서 빠질 수 없는 중요한 과정입니다. 데이터를 효과적으로 관리하기 위해 데이터를 구조화하고, 개체 간의 관계를 시각적으로 표현하는 것이 핵심입니다. 이번 글에서는 데이터 모델링의 단계와 ER 다이어그램에 대해 설명하고, 실제로 이를 어떻게 활용할 수 있는지 예시를 통해 알아보겠습니다.  데이터 모델링데이터 모델링은 현실 세계의 데이터를 데이터베이스에 저장하기 위해 체계적으로 구조화하는 과정입니다. 데이터 모델링은 데이터베이스 시스템의 성능과 유지 관리에 중요한 역할을 하며, 데이터의 일관성을 보장하기 위한 중요한 단계입니다.데이터 모델링의 세 단계개념적 모델링: 이 단계에서는 데이터베이스에 저장할 주요 개체와 관계를 추상화..

제약 조건과 키(Constraints & Keys)

데이터베이스 제약 조건과 키 (Constraints & Keys)데이터베이스를 설계할 때는 데이터를 정확하고 일관되게 유지하기 위한 다양한 규칙이 필요합니다. 이러한 규칙을 제약 조건(Constraints)이라고 하며, 테이블 내에서 각 데이터를 고유하게 식별하고 테이블 간의 관계를 정의하는 키(Key)와 함께 사용됩니다. 이번 글에서는 제약 조건과 키에 대해 알아보고, 실제로 어떻게 활용할 수 있는지 예시를 통해 설명하겠습니다.  1. 제약 조건 (Constraints)제약 조건은 테이블에 잘못된 데이터가 입력되는 것을 방지해 데이터의 무결성을 보장하는 중요한 역할을 합니다. 제약 조건을 설정하면 데이터베이스가 자동으로 데이터를 검증해, 부적합한 데이터를 차단할 수 있습니다. - NOT NULLNOT ..

데이터베이스 개요

데이터베이스 기초 개념1. 데이터베이스란?데이터베이스는 여러 사용자가 동시에 데이터를 접근하고 공유하며, 데이터를 통합적으로 관리할 수 있는 시스템입니다. 데이터는 현실 세계에서 수집된 사실을 뜻하고, 데이터베이스는 이를 체계적으로 저장하고 관리해 효율적으로 처리할 수 있게 해줍니다.데이터(Data): 현실에서 수집된 단순한 사실이나 값.정보(Information): 데이터를 가공하여 특정 목적에 맞게 해석한 형태.2. 데이터베이스의 필요성데이터베이스는 기존 파일 처리 시스템의 여러 한계를 극복하기 위해 등장했습니다. 데이터베이스가 필요한 이유는 아래와 같은 문제점들 때문입니다.데이터 종속성 문제: 데이터 구조가 변경되면 그와 연결된 프로그램들도 수정이 필요함.데이터 중복 문제: 응용 프로그램마다 독립적..