전체 글

# fullstack/database/p240610/select_group_function.sql[그룹 함수] 집계 함수count(컬럼명) : 로우 개수 - null 제외count(*) : 로우 개수 - null 포함sum(컬럼명) : 합avg(컬럼명) : 평균max(컬럼명) : 최대값min(컬럼명) : 최솟값[문법] 위치 다르게 하면 Syntax Errorselect 컬럼명 1, 그룹함수(컬럼명 2) from 테이블명 // 여기까지 필수where 조건 // row 와 관련group by 컬럼명 2having 조건 [문제 1] 총 사원(직원) 수select count(emp_no) from employees; # emp_no 의 개수 반환select count(emp_no), count(*)..
# fullstack/database/p240611/select_subquery.sql 서브 쿼리는 사용 위치에 따라 중첩 서브 쿼리, 스칼라 서브 쿼리, 인라인 뷰로 구분됨[서브 쿼리] subquery* 서브 쿼리 : 쿼리문 내 쿼리문select 절, from 절, where 절에 들어올 수 있음들어오는 위치에 따라 구분이 됨* 스칼라 서브쿼리 (scalar subquery) : select 절, 단일행 / 단일컬럼 반환* 인라인 뷰 (inline view) : from 절, 반드시 하나의 테이블 반환 * 중첩 서브쿼리 (nested subquery) : where 절, 단일행 or 다중행 반환 // 가상의 테이블를 뷰라고 말함, 쿼리가 실행되면서 만들어지는 뷰 중첩 서브 쿼리d005 부..
# fullstack/database/p240610/select_join.sqlselect * from dept_manager;select * from departments;수평 조인 from 절에 테이블명을 , 로 구분하여 여러 개- 다대다 조인# 다대다 조인 : M x N# 있는 row 를 다 연결select * from dept_manager, departments; 컬럼명을 다 써보자 !select emp_no, dept_no, from_date, to_date, dept_no, dept_namefrom dept_manager, departments; 어라 근데 error ! Column 'dept_no' in field list is ambiguousselect 절에 dept_no 가 2개(여러..
숫자형# database/p240605/select-function.sql절대값실제 저장된 데이터가 아닌 임으의 데이터이기 때문에 from 생략 !select abs(100), abs(-100); 소수점 이하 올림소수점 첫째 자리가 반올림이 되든 안되든 무조건 올림select ceil(10.4), ceil(10.5), ceil(10.6);소수점 이하 내림floor 의 사전적 의미는 바닥 !select floor(10.432), floor(10.5), floor(10.6); 반올림소수점 기준으로 오른쪽 반올림 결정 !select round(10.432), round(10.5), round(10.6); 근데 여기서 알아야 할 점 !생략된 부분이 있다 !select round(166.555, 0), round..
📌 where clause 사용되는 연산자# database/240605/select-ex01.sql * 비교 연산자= : 같다 : 다르다 : 왼쪽 값이 더 큼= : 값이 같거나, 왼쪽 값이 더 큼* 논리 연산자 : and, or, not* 범위 연산자 : between A and B* 집합 연산자 : in (값 1, 값 2, ...) not in (값 1, 값 2 , ...)* 문자열 연산자 : like not like 와일드 카드 - '%' (모든), '_' (하나)* null 연산자 : is null null 과 같다. null 이다. (부등호를 쓰는 것이 아니라 is) is not null null 과 같지 않다. null이 아니다.📌 산술 연..
TCLTCL 이란 Transaction Control Language 약어로 DCL 에서 트랜잭션을 제어하는 명령어인COMMIT 과 ROLLBACK 만 따로 분리해서 TCL 로 표현하고 있다 ! 트랜잭션이란 ?! 논리적인 작업의 단위로예시로 출금 시스템을 들 수 있다 . 출금을 하기 위해 단계를 거치는데 (카드 투입 → 출금 선택 → 금액 선택  )첫 단계부터 끝 단계까지 수행이 되어야 하는데 중간에 멈춘다면 처음 상태로 돌아간다 이걸 원자성 ! 그래서 commit 과 rollback 은 논리적인 작업의 단위와 관련 있다고 한다.DML 은 ram 에서 작업이 되는데 ram 에서 이루어졌던 작업을 commit 완료 했다고 생각하면 되고,하드 디스크 , ram 에서 작업한 것을 반영하겠다는 것을 작업 내림이..
들어가기 전 !📌 DDL (조작어) 테이블의 구조나 관계를 생성하는 데 사용  ! create(생성), drop(삭제), alter(변경) 등이 있다.1. create(생성)# fullstack/database/p240611/create.sql[문법] create database DB명; 한 번 데이터베이스를 생성해보자create database test; 스키마를 보면 데이터가 생성 됐는지 안됐는지 GUI 를 통해 알 수 있다 ! 근데 mysql 워크 벤치가 없다면 어떻게 확인할래 . . .cmd 창에서 확인할 줄도 알아야 되는데 ..! 그럴 때 DB 목록을 보면 된다 ㅎ# DB 목록show databases;📌 작성된 쿼리문 확인생성한 DB 의 쿼리문을 확인하고 싶을 때show create dat..
print(blue)