CS20 [MySQL] MySQL의 JOIN, 기본키(PK) ✅ MySQL의 JOIN 완전 정복 + FULL OUTER JOIN 대체 방법까지🧠 1. JOIN이란?두 개 이상의 테이블을 공통된 컬럼을 기준으로 연결해 하나의 결과 집합을 만드는 방식실무에서 매우 흔하게 사용됨: 사용자 + 주문, 제품 + 카테고리, 회원 + 주소 등✅ 2. JOIN 종류 요약JOIN 종류설명MySQL 지원 여부INNER JOIN두 테이블 모두에 존재하는 교집합✅ 지원LEFT OUTER JOIN (LEFT JOIN)왼쪽 테이블은 모두 표시, 오른쪽은 일치하는 것만✅ 지원RIGHT OUTER JOIN (RIGHT JOIN)오른쪽 테이블은 모두 표시, 왼쪽은 일치하는 것만✅ 지원FULL OUTER JOIN양쪽 모두 표시 (합집합)❌ MySQL은 직접 지원 안 함CROSS JOIN모든 조.. 2025. 4. 8. [Database] FROM DUAL 구문 FROM DUAL은 Oracle 데이터베이스에서 자주 사용되는 구문으로, 테이블이 필요 없는 단일 값의 연산이나 함수를 테스트하거나 간단한 쿼리를 실행할 때 사용합니다.🔷 1. DUAL이란?DUAL은 Oracle에서 임시로 사용하는 1행짜리 가상 테이블입니다.실제 테이블이지만, 시스템에 기본적으로 존재합니다.컬럼은 오직 하나: DUMMY라는 이름의 VARCHAR2(1) 타입행은 단 하나: XSELECT * FROM DUAL;결과:DUMMY-----X🔷 2. 왜 FROM DUAL을 사용하나?👉 테이블 없이 단일 값을 반환하고 싶을 때 사용예를 들어, 단순한 산술 연산이나 함수 결과를 확인할 때:SELECT 1+1 FROM DUAL;-- 결과: 2SELECT SYSDATE FROM DUAL;-- 결과:.. 2025. 4. 3. [OS] vi 편집기 자주 사용하는 키 정리 🧭 vi 편집기 자주 사용하는 키 정리 (모드별)vi는 3가지 모드로 구성됩니다:기본 모드 (Normal Mode): 이동, 복사, 삭제 등 명령 실행입력 모드 (Insert Mode): 실제 텍스트 입력명령어 모드 (Command Mode): 저장, 종료, 파일 제어 등1️⃣ 기본 모드 (Normal Mode)vi 실행 직후 진입하는 기본 상태입니다.커서 이동, 삭제, 복사, 붙여넣기 등 대부분의 작업을 수행합니다.🔹 커서 이동키설명h / l왼쪽 / 오른쪽 이동j / k아래 / 위 이동0줄 맨 처음으로 이동^줄의 첫 글자 위치로 이동$줄 끝으로 이동w / W다음 단어 시작으로 이동 (W: 공백 기준)b / B이전 단어 시작으로 이동e / E현재 또는 다음 단어 끝으로 이동gg문서 맨 처음으로 이동G.. 2025. 4. 3. [MySQL] SELECT 절의 처리 순서 SELECT 절의 처리 순서MySQL에서 SELECT 쿼리는 우리가 작성한 순서대로 실행되지 않고, 내부적으로는 다음과 같은 순서로 처리됩니다.✅ SELECT 절의 처리 순서 (논리적 처리 순서, Logical Query Processing Order)처리 순서절설명1FROM테이블/뷰를 로딩2ON조인 조건을 적용 (JOIN 사용 시)3JOIN실제 조인 수행4WHERE로우(행) 필터링 – 그룹 이전5GROUP BY지정된 컬럼 기준으로 그룹핑6WITH CUBE / ROLLUP집계 연산 보조 옵션 (선택 사항)7HAVING그룹핑 결과 필터링8SELECT반환할 컬럼 및 표현식 선택9DISTINCT중복 제거10ORDER BY결과 정렬11LIMIT결과 개수 제한 (OFFSET 포함 가능)1. 🔍 SELECT 절의.. 2025. 4. 1. [Database] 데이터베이스 용어 정리 ✅ 데이터베이스 용어 정리 1. 데이터베이스(Database)데이터를 조직적으로 저장하고 다룰 수 있게 해주는 저장소.보통은 DBMS(Database Management System)를 통해 조작.✅ 관계형 데이터베이스(RDBMS) vs 비관계형(NoSQL)2. 테이블(Table) = 릴레이션(Relation)관계형 모델에서 데이터를 표현하는 핵심 단위.행(Row)와 열(Column)로 구성됨.하나의 테이블은 하나의 엔터티(Entity)를 표현 (예: 고객, 주문 등).✅ MySQL vs OracleMySQL은 테이블 명 대소문자 구분 여부가 OS에 따라 다름 (Linux는 구분, Windows는 구분 안 함).Oracle은 항상 대소문자 구분 안 함.3. 행(Row) = 튜플(Tuple)테이블의 한 줄.. 2025. 3. 27. [Network] 포트에 따른 서버 및 서비스 구분 🔍 포트에 따른 서버 및 서비스 구분: 기술적으로 자세한 설명💡 핵심 개념 먼저 짚고 넘어가자:서버(Host): 하나의 물리적 또는 가상 시스템 (예: Ubuntu 머신)포트(Port): 서버 내에서 네트워크 서비스를 구분하는 논리적 통로 (0~65535번)SSH 데몬(sshd): SSH 접속 요청을 처리하는 서버 측 백그라운드 서비스포트포워딩: 외부에서 들어오는 포트 요청을 내부의 특정 IP와 포트로 우회시키는 기능🧠 사례별 설명① 같은 서버에서 여러 포트에 SSH 서비스 실행 (직접 설정)# /etc/ssh/sshd_config 내용 예시Port 22Port 2222이 설정은 같은 Ubuntu 서버에서 SSH 서비스를 22번과 2222번 포트 둘 다 수신하도록 설정한 것이다.이 경우, 외부에서 .. 2025. 3. 27. 이전 1 2 3 4 다음