BackEnd/MySQL 16

[DB] GROUP BY, HAVING

※ SELECT문 해석 순서  5 : SELECT 컬럼명 AS 별칭, 계산식, 함수식  1 : FROM 참조할 테이블명  2 : WHERE 컬럼명 | 함수식 비교연산자 비교값  3 : GROUP BY 그룹을 묶을 컬럼명  4 : HAVING 그룹함수식 비교연산자 비교값  6 : ORDER BY 컬럼명 | 별칭 | 컬럼순번 정렬방식 [NULLS FIRST | LAST]; ▶ GROUP BY - 같은 값들이 여러 개 기록된 컬럼을 가지고 같은 값들을 하나의 그룹으로 묶음 - 그룹 함수는 단 한 개의 결과 값만 산출하기 때문에 그룹이 여러 개일 경우 오류 발생 - 여러 개의 결과 값을 산출하기 위해 그룹 함수가 적용될 그룹의 기준을 GROUP BY절에 기술하여 사용 EMPLOYEE 테이블에서 부서코드, 부서(..

BackEnd/MySQL 2024.08.25

[DB]SELECT

▶ 주요 용어  ▶ SQL(Structured Query Language)관계형 데이터베이스에서 데이터를 조회하거나 조작하기 위해 사용하는 표준 검색 언어 원하는 데이터를 찾는 방법이나 절차를 기술하는 것이 아닌 조건을 기술하여 작성 ▶ 주요 데이터 타입 ▶ SELECT(조회) - 지정된 테이블에서 원하는 데이터가 존재하는 행을     선택해서 조회하는 SQL(구조적 질의 언어)    - 작성된 구문에 맞는 행, 열 데이터가 조회됨   -> 조회 결과 행의 집합 == RESULT SET(중요!!!!!)   - 조회 결과는 0행 이상(조건에 맞는 행이 없을 수 있다!) SELECT조회하고자 하는 컬럼명 기술 여러 컬럼을 조회하는 경우 컬럼은 쉼표로 구분하고, 마지막 컬럼 다음은 쉼표를 사용하지 않음 모든 ..

BackEnd/MySQL 2024.08.24

[DB]Oracle Database의 개요

▶ Data 관찰 결과로 나타난 정량적 혹은 정성적인 실제 값 ▶ 정보 데이터를 기반으로 의미를 부여한 것 ex)* 에베레스트의 높이 : 8848m → Data 에베레스트는 세계에서 가장 높은 산이다. → 정보▶  Database 한 조직에 필요한 정보를 여러 응용 시스템에서 공용할 수 있도록 논리적으로 연관된 데이터를 모으고 중복되는 데이터를 최소화하여 구조적으로 통합/저장해놓은 것   ▶ Database 정의 1. 공용 데이터(Shared Data) : 공동으로 사용되는 데이터 2. 통합 데이터(Integrated Data) : 중복 최소화로 중복으로 인한 데이터 불일치 현상 제거 3. 저장 데이터(Stored Data) : 컴퓨터 저장장치에 저장된 데이터 4. 운영 데이터(Operational Da..

BackEnd/MySQL 2024.08.24

[DB] 함수

▶ 함수  컬럼값 | 지정된값을 읽어 연산한 결과를 반환하는 것 단일행 함수 N개의 행의 컬럼 값을 전달하여 N개의 결과가 반환 그룹 함수 N개의 행의 컬럼 값을 전달하여 1개의 결과가 반환  (그룹의 수가 늘어나면 그룹의 수 만큼 결과를 반환)* 함수는 SELECT절, WHERE절, ORDER BY절 GROUP BY절, HAVING절에서 사용 가능  ▶ 단일행 함수  1) LENGTH(문자열|컬럼명) : 문자열의 길이 반환SELECT 'HELLO WORLD', LENGTH('HELLO WORLD') FROM DUAL; -- DUMMY TABLE(가상/가짜 테이블) #결과  2) INSTR(문자열 | 컬럼명, '찾을 문자열' [, 찾을 시작 위치 [, 순번]])  : 찾을 시작 위치부터 지정된 순번째 찾..

BackEnd/MySQL 2024.08.24

[DB] ORDER BY절

▶ ORDER BY 절SELECT 조회 결과 집합 (RESULT SET)을  원하는 순서로 정렬할 때 사용하는 구문 [작성법] 3) SELECT 컬럼명.. (특정 컬럼만 선택해서 볼거야) 1) FROM 테이블명 (어떤 테이블에서) 2) WHERE 조건식 (조건을 만족하는 행만 선택(조회)) 4) ORDER BY (조회된 결과를 정렬할거야!!)컬럼명 | 별칭 | 컬럼순서(숫자)  [ASC / DESC] (오름차순 / 내림차순)  [NULLS FIRST / NULLS LAST] (NULL 위치 지정)  ****ORDER BY절은 무조건 SELECT 마지막에 수행된다!!!*** 오름차순(ASCENDING)    : 점점 커짐EX) 1 -> 10 / 가 -> 하 / A -> Z / 과거 -> 미래내림차순 (DE..

BackEnd/MySQL 2024.08.24

[DB]WHERE절

▶ WHERE 절 - 테이블에서 조건을 충족하는 행을 조회할 때 사용- WHERE절에는 조건식(true/false)만 작성 - 비교 연산자 : >, =, (같지 않다)- 논리 연산자 : AND, OR, NOT   3) SELECT 컬럼명,...  1) FROM 테이블명  2) WHERE 조건식;  1>> 특정 테이블에서 2>> 조건식을 만족하는 행을 추려놓고 3>> 추려진 결과 행에서 원하는 컬럼만 조회  #예제 EMPLOYEE 테이블에서 급여가 400만원을 초과하는 사원의 사번, 이름, 급여 조회SELECT EMP_ID, EMP_NAME, SALARY FROM EMPLOYEE WHERE SALARY>4000000; -- 8행 조회 EMPLYEE 테이블에서 연봉이 5천만원 이하인 사원의 이름, 연봉 조..

BackEnd/MySQL 2024.08.24

[DB] DDL(Data Definition Language) (ALTER, DROP)

▶ DDL(Data Definition Language)이란? 데이터 정의 언어로 객체(OBJECT)를 만들고(CREATE), 수정하고(ALTER), 삭제(DROP)하는 구문을 말함  ▷ ALTER- 테이블에 정의된 내용을 수정할 때 사용하는 데이터 정의어= 컬럼의 추가/삭제, 제약조건의 추가/삭제, 컬럼의 자료형 변경, DEFAULT 값 변경,= 테이블 명/컬럼 명/제약 조건 명 변경 등을 할 수 있음   ▷ DROP데이터베이스 객체를 삭제하는 구문  1. ALTER[컬럼 추가]ALTER TABLE DEPT_COPYADD (CNAME VARCHAR2(20));  ALTER TABLE DEPT_COPYADD (LNAME VARCHAR2(40) DEFAULT ‘한국’); [컬럼 수정]ALTER TABLE ..

BackEnd/MySQL 2024.08.23

[DB] TCL(Transaction Control Language)

▶ TCL(Transaction Control Language)이란 ?   트랜잭션 제어 언어 🪄  TRANSACTION이란?  - 데이터베이스의 논리적 연산 단위    - 데이터 변경 사항(DML)을 묶어 하나의 트랜잭션에 담아 처리함.  - 트랜잭션의 대상이 되는 데이터 변경 사항 : INSERT, UPDATE, DELETE (DML)    EX)     INSERT 수행 --------------------------------> DB 반영 (X)         INSERT 수행 → 트랜잭션에 추가 →  COMMIT → DB 반영 (O)           INSERT 10번 수행 →  1개 트랜잭션에 10개 추가 →  ROLLBACK →  DB 반영 안됨   COMMIT 메모리 버퍼(트랜잭션)에 ..

BackEnd/MySQL 2024.08.22