Database/MySQL 13

MySQL) 스키마 생성부터 테이블 생성, 데이터 삽입, 조회까지 해보기

첫 번째 문제baseball team 테이블을 작성- team : 팀아이디(PK), 지역, 이름, 개설날짜, 전화번호, 홈페이지- player : 선수번호(PK), 선수이름, 등록일. 포지션, 신장, 팀아이디(FK) 조건 :          1. TEAM을 두 개만 등록합니다.         2. 두 개의 TEAM에 선수를 각각 3명씩 등록(추가)합니다.         3. join 해 보로독 한다.         4.선수를 입력하면 그 선수의 팀 명과 전화번호, 홈페이지가 출력되도록 합니다. 1. 스카마 & 테이블 생성create database work;use work;create table team( teamid decimal(4) primary key, location varchar(3..

Database/MySQL 2025.02.11

MySQL) MySQL 기초부터 활용까지 75문제 풀기 (2)

MySQL) MySQL 기초부터 활용까지 75문제 풀기 (1)SELECT : JOIN 문제문제1) 사원들의 이름, 부서번호, 부서명을 출력하라.select first_name as '이름', e.department_id as '부서번호', d.department_name as '부서명' from employees e inner join departments d on e.department_id = d.department_id; 문제2) 30번 부서의 사원들의 이름, 직업, 부서명을 출력하라.select first_name as '이름', j.job_id as '직업', e.department_id as '부서번호', d.department_name as '부서명' ..

Database/MySQL 2025.02.11

MySQL) MySQL 기초부터 활용까지 75문제 풀기 (1)

SELECT 기초문제1) EMPLOYEES Table의 모든 자료를 출력하여라.desc employees; 문제2) EMPLOYEES Table의 컬럼들을 모두 출력하라.select *from employees; 문제3) EMPLOYEES Table에서 사원 번호, 이름, 급여, 담당업무를 출력하여라.select employee_id, first_name, salary, job_idfrom employees; 문제4) 모든 종업원의 급여를 $300증가 시키기 위해서 덧셈 연산자를 사용하고 결과에 SALARY+300을 디스플레이 합니다.select employee_id, first_name, salary + 300 as 급여from employees; 문제5) EMPLOYEES 테이블에서 사원번호, 이름,..

Database/MySQL 2025.02.11

MySQL) constraint(무결성) : Primary Key / Unique Key / Foreign Key / check / not null / default 개념 및 쿼리로 이해하기

제약 조건NULL 허용중복 허용특징PK (기본키)XX한 테이블에 하나만 가능, 유일한 값 보장UK (고유키)OX중복 불가, NULL 가능, 여러 개 선언 가능FK (외래키)O (옵션)O다른 테이블의 PK/UK를 참조, 참조 무결성 보장CHECKOO특정 조건을 만족하는 값만 허용NOT NULLXONULL 값 입력 불가DEFAULTXX값이 없을 때 자동으로 기본값 설정1. Primary Key (PK) - 기본키: 테이블에서 각 행을 유일하게 식별하는 키: NULL 값 허용 불가, 중복 불가: 한 테이블에 하나만 존재 가능: 기본키는 자동으로 Unique + Not Null 속성 포함2. Unique Key (UK) – 고유키: NULL 값 허용 (1개 이상 가능), 하지만 중복 불가: 한 테이블에 여러 개..

Database/MySQL 2025.02.09

MySQL) view 생성 , 조회, 수정, 삭제 예제 & 주의할 점 정리

VIEW(뷰)란?: 하나 이상의 테이블에서 데이터를 조회하는 가상의 테이블: 실제 데이터를 저장하지 않고, SQL 쿼리 결과를 테이블처럼 활용할 수 있다.: 복잡한 쿼리를 단순하게 만들고, 보안 및 데이터 관리에도 유용하다.즉, 뷰는 데이터를 저장하지 않고, 원본 테이블을 바라보는 창(윈도우) 역할이라고 생각하면 편함VIEW의 특징1. 가상 테이블- 뷰는 물리적으로 데이터를 저장하지 않음- 원본 테이블을 기반으로 동작 2. 데이터 보안- 특정 컬럼이나 행만 선택하여 접근 권한을 제한할 수 있음 3. 복잡한 SQL을 단순화- 여러 테이블을 조인하는 복잡한 쿼리를 미리 정의하여 간단하게 사용 가능 4. 업데이트 가능 여부- 일반적으로 SELECT만 가능VIEW 주의할 점1. ORDER BY 사용 불가 (뷰 ..

Database/MySQL 2025.02.09

MySQL) DML, DDL, DCL, TCL 개념 및 활용 / table copy, auto_increment 사용법

Table(테이블)이란?: 데이터를 저정하는 구조화된 공간Column(컬럼) : 데이터의 속성을 정의(예: 이름, 나이, 주소 등)Row(행) : 하나의 데이터 레코드(예: 특정 회원의 정보)ex)회원관리 테이블 - 컬럼 : id, password, name ...게시판 테이블 - 컬럼 : seq, id, title, content ...  Column 데이터 타입 - 문자형(String)            : VARCHAR(길이) → 영어(1Byte), 한글(3Byte) - 정수형(integer)           : INT, DECIMAL(자릿수) - 실수형(float, doule)    : FLOAT, DOUBLE, DECIMAL(전체 자릿수, 소수점 자릿수) - 날짜형(date)         ..

Database/MySQL 2025.02.09

MySQL) 특수 쿼리 & 순위 함수 정리! (CASE, OVER, PARTITION) / (RANK, DENSE_RANK, ROW_NUMBER)

CASE WHEN: SWITCH 문처럼 특정 값에 따라 조건을 분기select employee_id, first_name, phone_number, case substr(phone_number, 1, 3) when '515' then '뉴욕' when '590' then '워싱턴' when '650' then '보스턴' else '기타지역' end as '지역'from employees;: CASE WHEN을 활용하여 substr(phone_number, 1, 3)로 전화번호 앞 3자리를 추출: 추출한 3자리가 (515, 590, 650)일 때 then으로 결과 매핑OVER(): GROUP BY 없이도 집계 함수 사용 가능: select 절에서만 사..

Database/MySQL 2025.02.09

MySQL) 서브쿼리 : SELECT, FROM, WHERE 절에서의 사용법과 예제

서브쿼리란?: 서브쿼리(Subquery)는 쿼리(Query) 안에 포함된 또 다른 쿼리를 의미: 즉, 하나의 SQL 문장에서 내부적으로 또 다른 SQL 문을 실행하는 방식: 서브쿼리는 반드시 괄호 ( ) 안에 작성해야 함: 서브쿼리는 단독 실행이 가능해야 하며, 특정 절(SELECT, FROM, WHERE 등)에서 사용될 수 있다.사용 가능한 절반환되는 값(결과)설명SELECT 절단일 행 / 단일 열한 개의 값을 반환하는 서브쿼리만 가능FROM 절다중 행 / 다중 열서브쿼리가 테이블처럼 동작WHERE 절단일 행 / 단일 열, 다중 행 / 다중 열특정 조건을 만족하는 행을 필터링서브쿼리 활용 예SELECT 절에서 사용 (단일 값 반환)조건 : 서브쿼리는 반드시 하나의 행과 하나의 열을 반환해야 함.사용 목..

Database/MySQL 2025.02.09

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