[학습 DAY - 6]
두 종류의 삭제방법
-. 물리삭제: SQL의 DELETE 명령을 사용해 직접 데이터를 삭제
-. 논리삭제: 테이블에 '삭제플래그'와 같은 열을 미리 준비하여 테이블에서 실제로 행을 삭제하는 대신, UPDATE 명령을 이용해 '삭제플래그'의 값을 유효하게 갱신해두자는 발생에 의한 삭제방법
삭제방법 선택하기
-. SNS 서비스처럼 사용자의 개인정보를 다루는 시스템에서는 사용자가 탈퇴한 경우 데이터 삭제(물리삭제)
-. 쇼핑 사이트의 주문 취소의 경우 데이터 삭제(논리삭제)
-. 논리삭제로 인해 DB사용량이 늘어나 저장공간이 작아지는 경우 물리 방법으로 데이터 삭제
-. 물리삭제와 논리삭제는 용도에 맞게 선택
COUNT로 행 개수 구하기
-. 인수로 주어진 집합의 개수를 구해 반환
-. 집계함수는 집한 안에 NULL 값이 있을 경우 무시 (전체를 구할 때는 포함)
- SELECT COUNT(*) FROM sample51; (모든 행 개수 구하기, 모든 열 = 테이블 전체로 인식)
- SELECT * FROM sample51 WHERE name='A';
DISTINCT로 중복 제거
- SELECT ALL name FROM sample51; (모든 행 반환)
- SELECT DISTINCT name FROM sample51; (중복 행 제거)
SUM으로 합계 구하기
-. SUM 집계함수를 사용해 집합의 합계를 구할 수 있음
-. 수치형만 가능, 문자열형이나 날짜시간형의 집합에서 합계를 구할 수 없음
- SELECT SUM(quantity) FROM sample51;
AVG로 평균내기
-. SUM / COUNT로 평귱을 구할 수 있지만 AVG로도 가능
-. SUM과 동일하게 수치형만 가능
- SELECT AVG(quantity), SUM(quantity)/COUNT(quantity) FROM sample51;
MIN, MAX로 최소값, 최대값 구하기
-. 수치형, 문자열형, 날짜시간형에도 사용 가능
- SELECT * FROM sample51;
- SELECT MIN(quantity), MAX(quantity), MIN(name), MAX(name) FROM sample51;