본문 바로가기
728x90
반응형

DB/SQL28

[MS-SQL]UNION ALL로 소계, 합계 구하기 UNION ALL로 소계, 합계 구하는 법 1. 원하는 행을 SELECT한다. 2. UNION ALL 3. 소계를 구하고 싶은 컬럼을 GROUP BY 해서 SUM 한다. 4. UNION ALL 5. 합계를 구하고 ORDER BY로 SORTING한다. 예를들어서 A~J까지의 사람이 있고 STEP에 따라서 VALUE라는 값을 부여받을때 VALUE에 대한 소계를 구하고 이에 대한 총합을 구하기 위해서는 다음과 같이 할수있다. 테이블 SELECT A.* INTO #TEMP FROM ( SELECT 'A' NAME, '1' STEP, 100 VALUE UNION ALL SELECT 'B' NAME, '1' STEP, 100 VALUE UNION ALL SELECT 'C' NAME, '1' STEP, 100 VAL.. 2021. 7. 21.
[SQL] MySQL 주차 구하기 WEEK 국립국어원에 따르면 사전적 기준으로 보면 한 주의 시작은 월요일, 한 주의 마지막 날은 일요일로 되어있다. 외국에서는 일부 국가에서 일요일을 시작일로 정하는 경우가 있지만 일반적으로 월요일을 시작으로 한다. 우리나라도 월요일을 시작을 하고 있지만 이상하게 달력은 일요일이 처음에 오도록 제작한다. 기준일에 따라 통계가 달라지기 때문에 한 주의 시작일은 중요하다. 고객의 요구사항에 맞게 월별 통계를 어떻게 보여줄 것인가는 개발자의 몫이다. 고객이 한 주의 시작을 일요일, 월요일로 요청할지 아무도 모른다. 특히 해외 프로젝트일 경우에는 재차 확인을 해야 한다. 1. 주의 시작일 월요일, 일요일 결정 2. 월이 겹치는 주의 기준은 시작일이 일요일이면 수요일, 월요일이면 목요일이 어느 월에 속해 있는가로 결정(시.. 2021. 7. 21.
[MySQL] 데이터 타입 정의 데이터 타입(DataType) 정의 데이터 타입(자료형)이란 컴퓨터 시스템과 프로그래밍 언어에서 실수, 정수, 소수 자료형 등의 여러 종류의 데이터를 식별하는 타입으로서, 해당 자료형에 대한 가능한 값, 해당 자료형에서 수행을 할 수 있는 명령어, 데이터의 형태, 의미, 크기와 해당 자료형의 값이 저장되는 방식이다. MySQL데이터 타입 문자형 데이터타입 데이터 유형 정의 CHAR(n) 고정 길이 데이터 타입(최대 255byte)- 지정된 길이보다 짦은 데이터 입력될 시 나머지 공간 공백으로 채워진다. VARCHAR(n) 가변 길이 데이터 타입(최대 65535byte)- 지정된 길이보다 짦은 데이터 입력될 시 나머지 공간은 채우지 않는다. TINYTEXT(n) 문자열 데이터 타입(최대 255byte) T.. 2021. 6. 8.
[MySQL] [MariaDB] ALTER TABLE 문법 총 정리 문법 문법에 들어가기 앞서, 공통 테이블 예시 CREATE TABLE ex_table ( id INT, sFirst VARCHAR(32), sThird VARCHAR(32), nSecond INT, sFifth VARCHAR(32) ) 컬럼 추가 (Add) nSixth INT형 컬럼 추가 ALTER TABLE [테이블명] ADD [컬럼명] [타입] ALTER TABLE ex_table ADD COLUMN nSixth INT; 결과 특정 컬럼 뒤에 추가 (Add) sThird 컬럼 뒤에 sFourth VARCHAR형 컬럼 추가 ALTER TABLE [테이블명] ADD COLUMN [추가할컬럼명] [컬럼타입] DEFAULT [기본값] [컬럼위치] ALTER TABLE ex_table ADD COLUMN sF.. 2021. 6. 8.
MySQL - 자료형 CHAR와 VARCHAR의 차이점 안녕하세요 꼬바리입니다. 문자열 자료형 - CHAR, VARCHAR 자료형 의미 대응하는 범위 CHAR 고정형 문자열 255자 까지 VARCHAR 가변형 문자열 1 ~ 65535바이트 문자 수의 상한은 이용하는 문자 코드에 따라 다르다. 자료형 CHAR와 VARCHAR은 문자열을 표현할 때 사용하는 자료형으로 사용할 때 길이를 명시해 주어야 한다. CHAR 타입은 고정 사이즈이기 때문에 CHAR(20)으로 했을 경우 20byte만큼만 공간이 할당되기 때문에 20byte를 넘어가면 데이터가 잘리게 된다. 이러한 특성은 VARCHAR도 동일하다. ↑ char(20),varchar(20) 컬럼에 20byte가 넘는 문자열을 넣었을 때 20byte가 넘는 경우 데이터가 잘린다. # CHAR(20)=char(20.. 2021. 5. 4.
[Oracle] SELECT 1 FROM 테이블명; SELECT 1 FROM 테이블명; SELECT 1 FROM 테이블명; select문에 사용하면 해당 테이블의 갯수만큼 1로 된 행 출력 테이블의 행의 수가 N개이면 1이 N행 반환됩니다. 1은 TRUE 의미 WHERE 조건문과 함께 사용하면 해당 조건을 만족할 때, 1을 반환 다중행 서브 쿼리문에서 WHERE 조건절에 (NET) EXISTS 안의 서브쿼리문에 사용됨 값의 존재 유무를 파악할 때 사용 SQL> select 1 from emp; 1 --- 1 1 1 1 4 rows selected. WHERE 조건문과 함께 쓰면 해당 조건을 만족하면 1 반환 SQL> select 1 from emp WHERE ename = 'SCOTT'; 1 --- 1 2021. 3. 18.
Equi Join /Non-Equi Join Equi Join 기존 테이블과 조인 테이블에서 공통 칼럼을 '='(equal) 비교하여, 같은 값을 가지는 행을 연결하고 결과를 생성하는 조인 방법입니다. 가장 많이 사용되는 조인 방법이라고도 합니다. 학생 테이블과 부서 테이블을 EQUI JOIN하여 이름, 학과 번호, 소속 학과 이름을 출력 학생 테이블과 학과 테이블, 교수 테이블을 JOIN 하여 학생의 이름과 학과이름, 지도교수 이름을 출력 => 세 개의 테이블을 조인하는 경우, 기준이 되는 테이블이 중요합니다. 여기서 기준이 되는 테이블은 학생 테이블이겠죠? 학생에 대한 모든 정보가 주된 목적이니까요! 세 개의 테이블을 어떻게 묶느냐에 따라 결과가 달라지기도 하니 기준을 잘 정해야합니다. 그 후 각각 테이블의 연결고리를 잘 확인합니다. STUDE.. 2021. 3. 16.
카티션 곱 / 카티시안 곱 / 카테시안 곱 /Cartesian product) Cartesian Product 카티션 곱 -설명 1 카티션 곱(cartesian product)은 엄밀히 말하면 조인이라고 할 수 없는 조인으로, WHERE 절에 조인 조건을 주지 않는 것을 말합니다. 두 테이블을 기준으로 FROM 절에는 두 개의 테이블을 명시하지만 WHERE 절에서 조인 조건을 주지 않습니다. (WHERE 절을 추가하지 않거나 WHERE 절을 추가해도 조인 조건을 주지 않는 경우). 그 결과 두 테이블의 데이터를 기준으로 가능한 모든 조합의 데이터가 조회됩니다. Cartesian Product -설명 2 Cartesian Product (카티시안 곱)은 발생가능한 모든 경우의 수의 행이 출력되는 것을 의미합니다. N 개의 행을 가진 테이블과 M 개의 행을 가진 테이블의 카티시안 곱은.. 2021. 3. 16.
[오라클] start with connect by prior order siblings by 오라클 쿼리를 짜다보면 계층적으로 정렬해야 될 때가 있다. 예를 들어 메뉴(navigation) 출력. 그럴때 유용하게 사용할 수 있는것이 start with connect by prior order siblings by 이다. order by 로 sort할 경우 모든 데이터를 가지고 정렬을 하지만 order siblings by 각 계층별로 정렬을 한다. 그냥 정렬하면 계층구조가 흐트러지기 때문에 계층구조는 그대로 유지하면서 동일 부모를 가진 자식들끼리의 정렬 기준을 주는 것이다. 예를 들어 아래와 같이 있다고 하면 start with a.parent_id='0' connect by prior a.menu_id=a.parent_id order by siblings by a.sort asc 이러면 부모컬.. 2021. 3. 16.
728x90
반응형