본문 바로가기

SQL & 데이터베이스/SQL 기본 문법 & 오류

(10)
[SQL 기본 문법 & 오류] ORA-00904: "Invalid Identifier" 오류 원인과 해결법 [SQL] ORA-00904: "Invalid Identifier" 오류 원인과 해결법1. ORA-00904 오류란?ORA-00904: "Invalid Identifier" 오류는SQL 문에서 잘못된 컬럼명 또는 식별자를 사용했을 때 발생하는 오류입니다.주로 컬럼명이 잘못되었거나, 예약어를 변수명으로 사용했거나, 따옴표(”) 사용 규칙을 지키지 않았을 때 발생합니다.2. ORA-00904 오류가 발생하는 주요 원인원인설명1. 잘못된 컬럼명 사용SQL 쿼리에 존재하지 않는 컬럼명을 사용2. 예약어 사용SQL 예약어를 컬럼명으로 사용 (예: DATE, USER 등)3. 대소문자 구분 문제큰따옴표(“ ”)를 사용하여 컬럼명을 선언했을 경우, 대소문자가 구분됨4. 컬럼명에 공백 포함컬럼명에 공백이 포함된 경우 ..
[SQL] SQL 조인(JOIN) 최적화 기법과 성능 고려 사항 [SQL] SQL 조인(JOIN) 최적화 기법과 성능 고려 사항1. JOIN이란?SQL에서 JOIN은 두 개 이상의 테이블을 연결하여 데이터를 조회할 때 사용하는 연산입니다.데이터베이스 설계에서 **정규화(Normalization)** 가 적용되면,여러 개의 테이블로 데이터가 분리되므로,데이터를 효과적으로 조회하려면 조인이 필수적입니다. 2. JOIN의 종류JOIN 유형설명예제INNER JOIN두 테이블에서 공통된 데이터만 반환SELECT *   FROM A INNER JOIN B     ON A.id = B.id;LEFT JOIN왼쪽 테이블의 모든 행 + 일치하는 오른쪽 테이블의 행 반환SELECT *   FROM A LEFT JOIN B     ON A.id = B.id;RIGHT JOIN오른쪽 테이..
[SQL] SQL 조인(JOIN) 최적화 기법과 성능 [SQL] SQL 조인(JOIN) 최적화 기법과 성능 고려 사항1. JOIN이란?SQL에서 JOIN은 두 개 이상의 테이블을 연결하여 데이터를 조회할 때 사용하는 연산입니다.데이터베이스 설계에서 **정규화(Normalization)** 가 적용되면,여러 개의 테이블로 데이터가 분리되므로, 데이터를 효과적으로 조회하려면 조인이 필수적입니다.2. JOIN의 종류JOIN 유형설명예제INNER JOIN두 테이블에서 공통된 데이터만 반환SELECT * FROM A INNER JOIN B ON A.id = B.id;LEFT JOIN왼쪽 테이블의 모든 행 + 일치하는 오른쪽 테이블의 행 반환SELECT * FROM A LEFT JOIN B ON A.id = B.id;RIGHT JOIN오른쪽 테이블의 모든 행 + 일치..
[SQL 기본 문법 & 오류] SQL DELETE 쿼리 사용법 및 주의점 [SQL] DELETE 쿼리 사용법 및 주의점1. DELETE 문이란?DELETE 문은 SQL에서 데이터를 삭제할 때 사용되는 명령어입니다.주어진 조건을 만족하는 행을 삭제하며, ROLLBACK이 가능한 트랜잭션 내에서 실행됩니다.2. DELETE 기본 사용법테이블에서 특정 조건을 만족하는 데이터를 삭제할 수 있습니다.DELETE FROM 테이블명 WHERE 조건;예를 들어, employees 테이블에서 특정 ID를 가진 직원을 삭제하려면 다음과 같이 실행합니다.DELETE FROM employees WHERE employee_id = 101;✅ **위 DELETE 문이 실행되면 employee_id가 101인 행이 삭제됩니다.**3. DELETE 실행 후 결과 확인DELETE 실행 후 영향을 받은 행 ..
[SQL] VIEW(뷰) 개념과 활용 방법 - 성능 최적화 및 관리 팁 1. VIEW(뷰)란?뷰(View)는 SQL에서 하나 이상의 테이블을 기반으로 생성된 가상의 테이블입니다. 실제 데이터를 저장하지 않으며, 기본 테이블의 데이터를 조회하는 데 사용됩니다.🔹 VIEW의 주요 특징✔ 가상의 테이블로, 데이터가 직접 저장되지 않음✔ 기존 테이블을 기반으로 생성됨✔ 복잡한 쿼리를 단순화할 수 있음✔ 특정 사용자에게 필요한 데이터만 제공 가능2. VIEW 생성 및 활용🔹 VIEW 생성하기VIEW는 CREATE VIEW 문을 사용하여 생성할 수 있습니다.CREATE VIEW employee_view ASSELECT emp_id, emp_name, departmentFROM employeesWHERE status = 'ACTIVE';📌 설명: 위 쿼리는 employees 테이블..
[SQL] 서브쿼리(Subquery) 개념 및 활용 방법 [SQL] 서브쿼리(Subquery) 개념 및 활용 방법1. 서브쿼리란?서브쿼리(Subquery)는 **하나의 SQL 문 안에서 또 다른 SQL 문을 포함하는 쿼리**를 의미합니다.즉, SELECT, INSERT, UPDATE, DELETE 등의 주요 SQL 문에서 보조적으로 실행되는 쿼리를 말합니다.2. 서브쿼리 기본 구조SELECT 컬럼명FROM 테이블명WHERE 컬럼명 = (SELECT 컬럼명 FROM 테이블명 WHERE 조건);✅ 예제: 최고 연봉을 받는 직원 찾기SELECT 이름, 연봉FROM 직원WHERE 연봉 = (SELECT MAX(연봉) FROM 직원);📌 실행 결과:이름연봉김철수90003. 서브쿼리의 유형서브쿼리 유형설명예제스칼라 서브쿼리하나의 값만 반환하는 서브쿼리WHERE 컬럼 =..
[SQL] INNER JOIN vs OUTER JOIN 차이 및 활용법 [SQL] INNER JOIN vs OUTER JOIN 차이 및 활용법1. JOIN이란?SQL에서 JOIN은 **두 개 이상의 테이블을 결합하여 데이터를 조회하는 방식**입니다.특히, INNER JOIN과 OUTER JOIN은 자주 사용되는 유형이며, 데이터 조회 방식이 다릅니다.2. INNER JOIN vs OUTER JOIN 비교구분INNER JOINOUTER JOIN결합 방식두 테이블에서 **일치하는 데이터만 반환**일치하지 않는 데이터도 포함NULL 처리일치하지 않는 데이터는 반환되지 않음일치하지 않는 데이터도 NULL 값을 포함하여 반환종류INNER JOINLEFT JOIN, RIGHT JOIN, FULL JOIN3. INNER JOIN 예제✅ INNER JOIN을 사용한 고객 & 주문 데이터 ..
[SQL] GROUP BY와 HAVING 절 차이 및 활용법 [SQL] GROUP BY와 HAVING 절 차이 및 활용법1. GROUP BY란?GROUP BY는 데이터를 특정 컬럼 기준으로 그룹화하여 **집계 함수(Aggregate Function)**와 함께 사용하는 SQL 절입니다.✔️ 주요 사용 목적: 데이터를 그룹별로 묶어 통계 정보 생성 SUM, COUNT, AVG, MAX, MIN 등 집계 함수와 함께 사용✅ 예제 1: 부서별 평균 급여 조회SELECT department, AVG(salary) AS avg_salaryFROM employeesGROUP BY department;📌 결과:departmentavg_salaryIT6000HR4500Finance52002. HAVING 절이란?HAVING 절은 **GROUP BY로 그룹화한 결과에 조건을..
[SQL] ORA-01400: Cannot Insert NULL 오류 해결 방법 📌 [SQL] ORA-01400: Cannot Insert NULL 오류 해결 방법📌 ORA-01400 오류란?ORA-01400: cannot insert NULL 오류는 **NULL 값을 허용하지 않는 열에 NULL 값을 삽입하려 할 때 발생하는 오류**입니다.즉, **NOT NULL 제약 조건이 설정된 컬럼에 NULL 값이 삽입되려 하면** 발생합니다.📌 ORA-01400 오류가 발생하는 주요 원인과 해결 방법1️⃣ NOT NULL 제약 조건이 설정된 컬럼에 NULL 값 삽입설명: 테이블의 특정 컬럼이 NOT NULL 제약 조건을 가지고 있는데, 이 컬럼에 NULL 값을 삽입하려 하면 오류가 발생합니다.오류 발생 예제:CREATE TABLE employees ( id NUMBER PRIMA..
[SQL] ORA-00904: Invalid Identifier 오류 해결 방법 [SQL] ORA-00904: Invalid Identifier 오류 해결 방법📌 오류 메시지:ORA-00904: "COLUMN_NAME": invalid identifier🔹 오류 발생 원인ORA-00904 오류는 잘못된 컬럼명을 사용했을 때 발생합니다. 주요 원인은 다음과 같습니다.1️⃣ 컬럼명이 존재하지 않음SQL 문에서 해당 테이블에 없는 컬럼을 조회할 때 발생해결 방법: 현재 테이블에 존재하는 컬럼명을 확인SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'EMPLOYEES';2️⃣ 대소문자 문제Oracle에서는 기본적으로 컬럼명을 대소문자 구분 없이 처리하지만 쌍따옴표("")를 사용하면 대소문자가 구분됨해결 방법:SELECT empl..