본문 바로가기

728x90

BackEnd/DB(SQL)

Oracle JOIN 문법 총정리: ANSI vs Oracle 방식 완전 정복 들어가며Oracle에서 JOIN은 실무에서 가장 많이 쓰이는 SQL 중 하나입니다. 하지만 JOIN 방식이 두 가지(Oracle 고유 방식과 ANSI 표준 방식)로 존재하고, 각각 문법이 달라 처음 접하는 분들은 혼란스러울 수 있습니다. 이 글에서는 JOIN의 기본 개념부터 시작해서 각 JOIN 유형(Inner, Outer, Cross, Self), 그리고 실무에서 자주 하는 실수까지 하나씩 정리해보겠습니다. 1. JOIN이란 무엇인가?JOIN은 두 개 이상의 테이블을 연결해서 하나의 결과를 반환하는 SQL 구문입니다. 관계형 DB에서 분리된 데이터를 논리적으로 연결할 때 필수적으로 사용됩니다. 2. Oracle JOIN 문법의 두 가지 방식✅ Oracle 전통 방식 (WHERE 절 + (+) 연산자 .. 더보기
[Oracle SQL] SQL 초보 탈출! 오라클 DELETE로 데이터 삭제하는 법 DELETE는 테이블에서 데이터를 삭제할 때 사용하는 문법이에요.  잘못 쓰면 데이터가 통째로 날아갈 수 있으니 꼭! 조심해서 사용해야 해요. ✅ 기본 문법DELETE FROM 테이블명WHERE 조건;WHERE 조건을 만족하는 "행(row)"만 삭제됩니다.WHERE를 생략하면 테이블 전체 데이터가 삭제되니 주의‼️ ✅ 예제 1: 특정 조건에 해당하는 행 삭제 DELETE FROM employeesWHERE department_id = 50; 부서번호가 50번인 직원들만 삭제됩니다.  ✅ 예제 2: 전체 데이터 삭제 (주의!!) DELETE FROM employees;employees 테이블의 모든 데이터를 삭제합니다. (⚠️ 롤백 안 하면 영구 삭제)💡 이 경우 TRUNCATE와의 차이도 중요합니다. .. 더보기
[Oracle SQL] SQL 초보 탈출! 오라클 SELECT로 데이터 조회하는 법 SELECT 문은 오라클 SQL에서 데이터를 조회할 때 사용하는 가장 기본이자 핵심적인 문장이에요. 어떻게 사용하는지 한번 봅시다~ ✅ 기본 문법SELECT 컬럼1, 컬럼2, ...FROM 테이블명WHERE 조건ORDER BY 정렬기준;SELECT: 조회할 컬럼 지정FROM: 어떤 테이블에서 데이터를 가져올지 지정WHERE: 조건에 맞는 데이터만 조회 (옵션)ORDER BY: 조건에 맞게 정렬 ✅ 예제 1: 전체 조회 SELECT * FROM employees;employees 테이블의 모든 컬럼, 모든 행을 조회*는 모든 컬럼을 의미 ✅ 예제 2: 특정 컬럼만 조회SELECT first_name, last_name FROM employees;employees 테이블에서 이름과 성만 조회 ✅ 예제 3: .. 더보기
[Oracle SQL] SQL 초보 탈출! 오라클 INSERT로 데이터 입력하는 법 오라클에서 테이블의 값을 입력하기 위해 사용하는 INSERT 문! 어떻게 사용하는지 한번 봅시다~  ✅ 기본 문법 (단일 행 삽입)INSERT INTO 테이블명 (컬럼1, 컬럼2, ...)VALUES (값1, 값2, ...);컬럼 순서와 값 순서를 일치시켜야 해요.생략 가능한 컬럼(예: 자동 증가, DEFAULT 값)은 생략해도 돼요. ✅ 예제INSERT INTO employees (employee_id, first_name, last_name, hire_date, department_id)VALUES (207, 'Minji', 'Kim', SYSDATE, 50);employees 테이블에 새로운 직원을 한 명 추가하는 예제예요.SYSDATE는 현재 날짜를 의미해요. ✅ 컬럼명 생략 (단, 모든 컬럼 순.. 더보기
[Oracle SQL] SQL 초보 탈출! 오라클 UPDATE로 데이터 수정하는 법 오라클에서 테이블의 값을 수정하기 위해 사용하는 UPDATE 문! 어떻게 사용하는지 한번 봅시다~   ✅ 기본 문법 UPDATE 테이블명 SET 컬럼1 = 값1, 컬럼2 = 값2, ... WHERE 조건; ▶ SET 뒤에 수정할 컬럼과 새로운 값을 지정해요.▶ WHERE 조건은 수정할 행을 선택하는 데 사용돼요. 생략하면 테이블 전체가 수정되니 주의하세요!  UPDATE 문은 시스템 운영 시 자주 사용하므로 다양한 방법을 익혀두시면 좋아요!  ✅ 간단한 예제UPDATE employees SET salary = salary * 1.1 WHERE department_id = 10; ▶ employees 테이블에서 department_id가 10인 직원들의 급여를 10% 인상하는 예제예요. .. 더보기
[DB_MySQL] 이것이 MySQL이다 ch11 전체 텍스트 검색과 파티션 2 (파티션) 1. 파티션 개요와 실습 ◎ 파티션 ▷ 대량의 테이블을 물리적으로 여러 개의 테이블로 쪼개기 ▷ 데이터의 분포 특성, 자주 사용되는 쿼리문이 무엇인지에 따라서 효율에 차이 있음 ◎ 파티션 구성 ▷ 파티션 테이블에는 Primary Key 지정 하면 안됨 ▷ 데이터 입력 : 입력됨과 동시에 파티션 키에 의해서 데이터가 각 파티션으로 나뉘어짐 1. parttbl 테이블 생성 및 값 입력 -- 파티션으로 테이블 구현 : 대용량의 테이블을 물리적으로 분할하여 사용 -- sqldb.sql을 이용하여 sqldb 초기화 create database if not exists partdb; use partdb; drop table if exists parttbl; create table parttbl ( userID ch.. 더보기
[DB_MySQL] 이것이 MySQL이다 ch11 전체 텍스트 검색과 파티션 1 (전체 텍스트 검색) 1. 전체 텍스트 검색 개요 ◎ 전체 텍스트 검색 ▷ 긴 문자로 구성된 구조화 되지 않은 텍스트 데이터(예로, 신문 기사) 등을 빠르게 검색하기 위한 부가적인 MySQL의 기능 ▷ 저장된 텍스트의 키워드 기반의 쿼리를 위해서 빠른 인덱싱 가능 ▷ 신문 기사 검색 ▷ 교통’을 키워드로 가진 기사 검색 ▷ 키워드가 중간에 들어간 경우 인덱스 사용 불가, 서버에 엄청난 부하 발생 2. 전체 텍스트 인덱스 ◎ 전체 텍스트 인덱스(FULLTEXT Index) 생성 ▷ 텍스트로 이루어진 문자열 데이터의 내용으로 생성한 인덱스 ▷ 텍스트 인덱스 생성 형식 ◎ 전체 텍스트 인덱스(FULLTEXT Index) 생성 ▷ 전체 텍스트 인덱스의 특징 ▶ InnoDB와 MyISAM 테이블만 지원 ▶ char, varchar, .. 더보기
[DB_MySQL] 이것이 MySQL이다 ch10 스토어드 프로그램 4(트리거, trigger) 1. 트리거(Trigger)의 개요 ◎ 트리거란? ▷ 사전적 의미로 ‘방아쇠’ ▷ 방아쇠 당기면 ‘자동’으로 총알이 나가듯이 테이블에 무슨 일이 일어나면 ‘자동’으로 실행 ▷ 제약 조건과 더불어 데이터 무결성을 위해 MySQL에서 사용할 수 있는 기능 ▷ 테이블에 DML문(Insert, Update, Delete 등) 이벤트가 발생될 때 작동 ▷ 테이블에 부착되는 프로그램 코드 ▷ 직접 실행 불가 ▶ 테이블에 이벤트 일어나야 자동 실행 ▷ IN, OUT 매개 변수를 사용할 수 없음 ▷ MySQL은 View에 트리거 부착 불가 1. 테이블 생성 -- 트리거 : 테이블에 DML(i, u, d)문이 실행 될때 자동으로 SQL문을 실행 create database if not exists testDB; use .. 더보기

728x90