Database 15

MySQL) JOIN 정리 : inner, left, right, full, cross, self

JOIN 종류설명INNER JOIN공통된 값이 있는 행만 반환 (교집합)LEFT OUTER JOIN왼쪽 테이블은 유지, 오른쪽이 없으면 NULLRIGHT OUTER JOIN오른쪽 테이블은 유지, 왼쪽이 없으면 NULLFULL OUTER JOINLEFT + RIGHT 합집합 (NULL 포함, MySQL은 UNION 사용)CROSS JOIN모든 행을 조합 (곱집합, Cartesian Product)SELF JOIN같은 테이블을 자기 자신과 조인 기본키(Primary Key) : 중복을 허용하지 않고 고유한 값을 가지는 컬럼: null 값을 허용하지 않음(ex 주민번호 등)외래키(Forign Key) : 다른 테이블의 기본키(Primary Key)를 참조하는 컬럼 : 테이블 간 **연결(관계, 관계형 데이터베..

Database/MySQL 2025.02.06

MySQL) group by, having절 정리 : count, sum, avg, max, min

GROUP BY & HAVING 개념 정리1. GROUP BY: 같은 값을 가진 행을 그룹화하는 데 사용됨 : SELECT문의 집계 함수(SUM, AVG, COUNT, MAX, MIN 등)와 함께 사용됨 : 일반적으로 WHERE 절보다 뒤에, ORDER BY 절보다 앞에 위치함SELECT category, SUM(price) FROM productsGROUP BY category;: category별로 그룹을 나눈 후, price의 합계를 계산2. HAVING: GROUP BY로 그룹화한 결과에 조건을 적용할 때 사용됨 : WHERE 절은 개별 행을 필터링하지만, HAVING 절은 집계된 결과를 필터링함SELECT category, SUM(price) FROM productsGROUP BY categor..

Database/MySQL 2025.02.05

MySQL) order by : sorting(오름, 내림) 정렬

ASC(오름차순) : 기본값, 작은 값에서 큰 값 순으로 정렬DESC(내림차순) : 큰 값에서 작은 값 순으로 정렬ASC (Ascending) 의미: 오름차순 (작은 값 → 큰 값) : 기본적으로 오름차순 정렬은 ASC로 지정할 필요 없이 생략해도 기본값으로 적용되지만, : 명시적으로 작성할 수 있다.SELECT first_name, salaryFROM employeesORDER BY salary ASC; 의미: salary 값을 작은 값에서 큰 값 순으로 정렬DESC (Descending) 의미: 내림차순 (큰 값 → 작은 값) : 내림차순으로 정렬하려면 DESC를 사용해야 함SELECT first_name, salaryFROM employeesORDER BY salary DESC; 의미: salary..

Database/MySQL 2025.02.04

MySQL) where절 정리 : ALL, ANY, IN, EXISTS, BETWEEN / IF, IFNULL, NVL

where절 사용 형식 : select colum, value, sub Queryfrom table, sub Querywhere 조건 (> = ): where절은 조회할 때 특정 조건을 걸어서 특정 결과만 추출하도록 도와준다.> = (같지 않다) : 해당 부등호 사용 가능: null도 사용 가능 null이란 : 값이 정해지지 않았음을 의미, 0이나 빈 문자열과는 다른 것NULLJAVAMySQLif(x == null)is nullif(x != null)is not null&&and||or: 이해를 돕기위해 자바와 비교where절 사용 예제 : 부등호와 is null, in not null, and, orselect employee_id, first_name, salaryfrom employeeswhere ..

Database/MySQL 2025.02.04

MySQL) 쿼리로 테이블 만들기 및 조회하기 기초 : Create, Select

SQL : Structured Query Language(구조적 질의 언어) 테이블에서 행과 열 : row(행 = 튜플 = 인스턴스), col(열 = 컬럼(column) = 속성) **DB 기본**버전 확인select version()DB 확인show databasesDB 생성create database DB이름DB 선언(사용하겠다는 의미)use DB이름table column의 정보 확인desc table명 **대소문자 구분 없이 사용 가능**select * from employees;SELECT * FROM EMPLOYEES;Select * From employess;자료형JAVAMySQLintint, decimal(3)float, doublefloat, double, decimal(5, 1)Strin..

Database/MySQL 2025.02.04