전체 글(55)
-
GROUP BY, HAVING
GROUP BY 지정된 열의 값이 하나의 그룹으로 묶임 GROUP BY + 집계함수 점포별, 상품별, 월별, 일별 등 특정 단위로 집계할 때 사용 SELECT [GROUP BY 대상 컬럼 이름], ... , [그룹 함수] FROM [테이블 이름] WHERE 조건식 GROUP BY [컬럼 이름]; GROUP BY가 쓰인 쿼리의 SELECT 절에는 GROUP BY 대상 컬럼과 그룹 함수만 사용 가능함 HAVING SELECT [컬럼 이름], ..., [그룹 함수] FROM [테이블 이름] WHERE 조건식 GROUP BY [컬럼 이름] HAVING 조건식; HAVING + 조건식 형식으로 사용함 조건식이 True(참)이 되는 그룹만 선택함 HAVING 절의 조건식에서는 그룹 함수를 활용함 집계함수는 WHER..
2022.03.17 -
제약조건 , 권한
제약 조건 NOT NULL : 이 컬럼에는 NULL 값을 저장할 수 없음 UNIQUE : 이 컬럼의 값들은 서로 다른 값을 가져야 함 DEFAULT : 이 컬럼에 입력값이 없을 시 기본값이 설정됨 PRIMARY KEY : 이 컬럼은 테이블의 기본 키, NOT NULL과 UNIQUE 특징을 모두 가짐 FOREIGN KEY : 이 컬럼은 테이블의 외래 키, 이 컬럼은 다른 테이블의 특정 컬럼을 참조함 AUTO_INCREMENT : 주로 테이블의 PRIMARY KEY 데이터를 저장할때 자동으로 숫자를 1씩 증가시켜 주는 기능으로 사용함 권한과 DCL DDL : 데이터 정의어(Data Definition Language) (EX)CREATE, ALTER, DROP, RENAME, TRUNCATE DML : 데이..
2022.03.17 -
집합
합집합 [쿼리 A] UNION [쿼리B] 또는 [쿼리 A] UNION ALL [쿼리B] 형식으로 사용함 [쿼리 A]와 [쿼리 B]의 결과 값을 합쳐서 보여줌 [쿼리 A]와 [쿼리 B]의 결과 값의 개수가 같아야 하며 다를 경우 에러가 발생함 ORDER BY는 쿼리 가장 마지막에 작성 가능하고, [쿼리 A]에서 가져온 컬럼으로만 가능 UNION은 동일한 값은 제외하고 보여주며, UNION ALL은 동일한 값도 포함하여 보여줌 교집합 MYSQL에는 두 표현이 존재하지 않아 JOIN을 사용해 표현 SELECT [컬럼 이름] FROM [테이블 A 이름] AS A INNER JOIN [테이블 B 이름] AS B ON A.[컬럼1 이름] = B.[컬럼1 이름] AND ... AND A.[컬럼n 이름] = B.[컬럼..
2022.03.17 -
Index
INDEX 주 사용법 : SELECT시 WHERE 절에 들어가는 컬럼을 Index로 설정 내부 작동 원리 (B-Tree) : 루트노드와 리프노드의 계층적 구조로 루트노드를 이용하여 리프노드에서의 데이터를 빠르게 찾을 수 있는 자료구조 알고리즘 장점 테이블에서 데이터를 검색할때 빠르게 찾을수 있도록 해주는 기능 검색속도가 빨라짐 단점 저장공간을 10% 정도 더 많이 차지 INSERT, DELETE, UPDATE 할때 속도가 느려짐 use employees; select * from salaries limit 5; check index show index from salaries; clustered(정렬목적으로 사용), secondary 속도 측정 : 783ms select * from salaries wh..
2022.03.17 -
Trigger
테이블 생성 create table chat( chat_id int primary key auto_increment, msg varchar(200) ); create table chatBackup( backup_id int primary key auto_increment, chat_id int, msg varchar(200), backupDate timestamp ); chat 테이블에 데이터 추가 insert into chat(msg) values ("hi"), ("hello"), ("what is your name?"); select * from chat; 트리거 만들기 delimiter | create trigger cbackup before delete on chat for each row beg..
2022.03.17 -
SQL : Between, In, Limit
BETWEEN : 범위를 설정해서 데이터 출력 select code, name, population from country where population >= 70000000 and population
2022.03.17