데이터베이스34 [MySQL] 뷰(View) 이 글은 혼자 공부하는 SQL(저자 : 우재남)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. 뷰는 데이터베이스 개체 중에 하나이다. 모든 데이터베이스 개체는 테이블과 관련이 있지만, 특히 뷰는 테이블과 아주 밀접하게 연관되어 있다. 뷰는 한 번 생성해 놓으면 테이블이라고 생각해도 될 정도로 사용자들의 입장에서는 테이블과 거의 동일한 개체로 취급한다. 뷰는 테이블처럼 데이터를 가지고 있지 않다. 뷰의 실체는 SELECT 문으로 만들어져 있기 때문에 뷰에 접근하는 순간 SELECT가 실행되고 그 결과가 화면에 출력되는 방식이다. 뷰와 테이블의 관계는 바로 가기 아이콘과 실제 프로그램의 관계와 유사하다. 뷰는 단순 뷰와 복합 뷰로 나뉜다. 단순 뷰 : 하나의 테이블과 연관된 뷰 복합 뷰.. 데이터베이스/MySQL 2023. 12. 5. [MySQL] SQL 테이블 제약조건(기본키, 외래키, 고유키) 이 글은 혼자 공부하는 SQL(저자 : 우재남)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. 테이블을 만들 때는 테이블의 구조에 필요한 제약조건을 설정해줘야 한다. 기본 키(Primary Key)는 학번, 아이디, 사번 등과 같은 고유한 번호를 의미하는 column에 지정한다. 외래 키(Foreign Key)는 기본키와 연결되는 column에 지정한다. 이메일, 휴대폰 번호와 같이 중복되지 않는 열에는 고유 키(Unique)를 지정할 수 있다. 회원의 평균 키를 넣는다고 가정할 때, 당연히 평균 키는 2m를 넘지 않을 것이다. 이때 실수로 200cm을 입력하는 것을 방지하는 제약 조건이 체크(Check)이다. 국내에서 서비스하는 프로그램을 만든다고 하면, 회원 테이블에 국적은 대부.. 데이터베이스/MySQL 2023. 12. 4. [MySQL] 테이블 생성하기 이 글은 혼자 공부하는 SQL(저자 : 우재남)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. 테이블은 표 형태로 구성된 2차원 구조로, 행과 열로 구성되어 있다. 행은 row나 recode라고 부르며, 열은 column 또는 field라고 부른다. 테이블을 생성하기 전에 테이블의 구조를 정의해야 한다. 데이터 형식을 활용해서 각 열에 가장 적합한 데이터 형식을 지정한다. 회원 테이블 생성 SQL CREATE TABLE member -- 회원 테이블 ( mem_id CHAR(8) NOT NULL PRIMARY KEY, mem_name VARCHAR(10) NOT NULL, mem_number TINYINT NOT NULL, addr CHAR(2) NOT NULL, phone1 CHA.. 데이터베이스/MySQL 2023. 12. 3. [Oracle SQL] JOIN(카티션 곱, 동등 조인, 비동등 조인, 외부 조인, 자체 조인) 본 게시글은 이수안컴퓨터연구소의 데이터베이스 유튜브 동영상을 개인적으로 정리하는 글입니다. Join 두 개 이상의 테이블을 서로 연결하는데 사용되는 기법 테이블들은 특정 규칙에 따라 서로 상호 관계를 가짐 조인 기법 설명 카티션 곱(Cartesian Product) 모든 행에 대해서 조인 동등 조인(Equi Join) 조인 조건이 정확히 일치할 때 조회 비동등 조인(Non Equi Join) 조인 조건이 정확히 일치하지 않는 경우 조회 외부 조인(Outer Join) 조인 조건이 정확히 일치하지 않아도 모두 조회 자체 조인(Self Join) 자체 테이블에서 조인하여 조회 카티션 곱(Cartesian Product) 공통되는 컬럼 없이 조인 조건이 없어서 모든 데이터가 조회 발생가능한 모든 경우의 수의 .. 데이터베이스/Oracle SQL 2023. 11. 28. [MySQL] JOIN(INNER JOIN, OUTER JOIN, CROSS JOIN, SELF JOIN) 이 글은 혼자 공부하는 SQL(저자 : 우재남)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. join이란 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. 두 테이블을 엮어야만 원하는 형태가 나오는 경우도 많다. 인터넷 마켓 데이터베이스의 회원 테이블과 구매 테이블을 예로 들 수 있다. 회원 테이블에는 회원의 이름과 연락처가 있고, 구매 테이블에는 회원이 구매한 물건이 있다. 물건을 배송하려면 회원 테이블의 회원 이름과 연락처, 구매 테이블의 회원이 구매한 물건에 대한 정보가 함께 필요하다. 이렇게 두 테이블을 엮어서 하나의 배송을 위한 정보를 추출하는 것이 대표적인 join이다. 내부 조인(Inner Join) 두 테이블을 연결할 때 가장 많이 사용되는 것이.. 데이터베이스/MySQL 2023. 11. 28. [MySQL] 데이터 형식, 변수, 형 변환 이 글은 혼자 공부하는 SQL(저자 : 우재남)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. 테이블을 만들 때는 데이터 형식을 설정해야 한다. 데이터 형식에는 크게 숫자형, 문자형, 날짜형이 있다. 또 세부적으로는 여러 개로 나뉘기도 한다. 이렇게 다양한 데이터 형식이 존재하는 이유는 실제로 데이터 형태가 다양하기 때문이다. 각 데이터에 맞는 데이터 형식을 지정함으로써 효율적으로 저장할 수 있다. 데이터 형식 정수형 정수형은 소수점이 없는 숫자, 즉 인원 수, 가격, 수량 등에 많이 사용된다. 정수형의 크기와 범위는 아래와 같다. 데이터 형식 바이트 수 숫자 범위 TINYINT 1 -128 ~ 127 SMALLINT 2 -32,768 ~ 32,767 INT 4 약 -21억 ~ +2.. 데이터베이스/MySQL 2023. 11. 26. [Oracle SQL] 집계 및 그룹 함수(COUNT(), SUM(), AVG(), MAX(), MIN(), GROUP BY, HAVING) 집계 함수 여러 행에 대해 하나의 결과를 출력하는 그룹 함수를 이용하여 여러가지 집계 연산을 수행 COUNT() 열의 행 개수를 구하는 함수 --salary 컬럼의 행의 개수를 모두 추출(null이 아닌거) SELECT COUNT(salary) FROM employees; --manager_id 컬럼의 행의 개수를 모두 추출(null이 아닌거) SELECT COUNT(manager_id) FROM employees; --commission_pct 행의 값의 개수를 모두 추출(null이 아닌거) SELECT COUNT(commission_pct) FROM employees; --모든 행의 개수를 추출 SELECT COUNT(*) FROM employees; SUM() / AVG() 열의 합계를 구하는 SU.. 데이터베이스/Oracle SQL 2023. 11. 22. [Oracle SQL] 숫자, 날짜, 변환, 일반 함수 본 게시글은 이수안컴퓨터연구소의 데이터베이스 유튜브 동영상을 개인적으로 정리하는 글입니다. 숫자 함수 숫자 함수는 주로 숫자 계산과 추가 처리에 사용 CEIL() / FLOOR() • 숫자를 정수로 올림하는 CEIL() 함수, 숫자를 정수로 내림하는 FLOOR() 함수 SELECT salary, salary/21, CEIL(salary/21), FLOOR(salary/21) FROM employees; ROUND() / TRUNC() • 숫자를 반올림하는 ROUND() 함수, 숫자를 절삭하는 TRUNC() 함수 SELECT salary, salary/21, ROUND(salary/21), ROUND(salary/21, 2), ROUND(salary/21, -1), TRUNC(salary/21), TRUN.. 데이터베이스/Oracle SQL 2023. 11. 21. [Oracle SQL] 함수와 문자 함수(LOWER(), UPPER(), INITCAP(), SUBSTR(), REPLACE(), CONCAT(), LENGTH(), INSTR(), LPAD(), RPAD(), LTRIM(), RTRIM()) 본 게시글은 이수안컴퓨터연구소의 데이터베이스 유튜브 동영상을 개인적으로 정리하는 글입니다. 함수 함수 • 자주 사용되는 기능을 미리 만들어 놓고 필요할 때마다 사용하는개념 • DBMS에서는 주로 사용되는 문자, 숫자, 날짜 등의 다양한 기능과 데이터 타입을 변환하는 함수들을 제공 타입 데이터 타입 설명 문자 CHAR(n) n 크기의 고정 길이 문자 형식 저장 (최대 2,000 byte) 문자 VARCHAR2(n) n 크기의 가변 길이 문자 형식 저장 (최대 4,000 byte) 숫자 NUMBER(p, s) 숫자 형식 저장(p: 정수 자리수, s: 소수 자리수) 날짜 DATE 날짜 형식 저장 (9999년 12월 31일까지 저장 가능) 단일행 함수 • 데이터 값 계산 및 조작 • 행별로 하나의 결과를 반환 .. 데이터베이스/Oracle SQL 2023. 11. 21. [Oracle SQL] 정렬, 집합 연산(ORDER BY, UNION, UNION ALL, INTERSECT, MINUS)과 SQL연산자(BETWEEN, IN, IS NULL, LIKE) 본 게시글은 이수안컴퓨터연구소의 데이터베이스 유튜브 동영상을 개인적으로 정리하는 글입니다. ORDER BY ORDER BY 키워드를 이용해 결과 테이블 내용을 사용자가 원하는 순서로 출력 ORDER BY 키워드와 함께 정렬 기준이 되는 속성과 정렬 방식을 지정 오름차순(기본): ASC / 내림차순: DESC 널 값은 오름차순에서는 맨 마지막에 출력되고, 내림차순에서는 맨 먼저 출력됨 여러 기준에 따라 정렬하려면 정렬 기준이 되는 속성을 차례대로 제시 --employees 테이블에서 first_name, last_name를 출력하되, first_name를 기준으로 오름차순으로 정렬 SELECT first_name, last_name FROM employees ORDER BY first_name; --emp.. 데이터베이스/Oracle SQL 2023. 11. 20. [Oracle SQL] 조건 검색과 비교, 논리 연산(WHERE, AND, OR, NOT) 본 게시글은 이수안컴퓨터연구소의 데이터베이스 유튜브 동영상을 개인적으로 정리하는 글입니다. WHERE 특정 조건을 만족하는 데이터만 조회 연산자, 컬럼명, 표현식, 숫자, 문자 등을 이용한 조건 제시 숫자뿐만 아니라 문자나 날짜 값을 비교하는 것도 가능( ‘A’ , >=, =, = 120 AND employee_id = 10000 AND salary 8000; --jobs 테이블에서 대 월급이 10000달러 이하인 직업 조회 SELECT * FROM jobs WHERE max_salary = 4000 AND m.. 데이터베이스/Oracle SQL 2023. 11. 20. [Oracle SQL] SELECT 문 본 게시글은 이수안컴퓨터연구소의 데이터베이스 유튜브 동영상을 개인적으로 정리하는 글입니다. SELECT 문 데이터베이스 내 테이블에서 원하는 데이터를 조회 및 분석하는데 사용되며, 일반적으로 가장 많이 사용되는 구문 테이블 전체 조회 SELECT * FROM departments; 특정 열(column)만 조회 테이블에서 필요한 열만 조회 여러 개의 열을 가져오고 싶을 때는 콤마로 구분 열 이름의 순서는 출력하고 싶은 순서대로 배열 SELECT department_id, department_name from departments; -- 해당 행만 출력 별칭 사용하기 열 이름을 다른 별칭으로 표시 SELECT department_id AS 부서ID, department_name AS 부서이름 from de.. 데이터베이스/Oracle SQL 2023. 11. 19. 이전 1 2 3 다음