본문 바로가기

etc

DB공부 - having, group by

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

직접 실습하여 작성

참고 - 기초) http://www.sqlprogram.com/Basics/sql-table.aspx

참고 - 심화까지) http://www.gurubee.net/lecture/1032


DB삭제

drop database [DB이름]


공부시작------

> create database TestDB

> use TestDB

> CREATE TABLE MyTable ( Name VARCHAR(20) NOT NULL, Age INT );

> INSERT INTO MyTable VALUES ('Tom', 10);


> UPDATE MyTable SET Age=11 WHERE Name='Tom'    // 수정



삭제

DELETE FROM Scores

WHERE Class=20


Transaction 로그에 기록없이 삭제 (Rollback 할수없음)

TRUNCATE [TABLE] [테이블명]



ORDER BY 정렬

Score 내림차순정렬

ORDER BY Score DESC


SELECT * FROM Scores

ORDER BY Class, Score


Class 별 내림차순 정렬 후 Score 오름차순 정렬

SELECT * FROM Scores

ORDER BY Class DESC, Score ASC



GROUP BY

그룹을 지어서 출력해줌

> CREATE TABLE GroupBy (Class VARCHAR(10), Name VARCHAR(10));

> INSERT INTO GroupBy VALUES ('A', 'Bill');

> INSERT INTO GroupBy VALUES ('B', 'Tom');

> INSERT INTO GroupBy VALUES ('B', 'go');



라고하면


> SELECT Class, Name, COUNT(Name) "인원수"

   FROM GroupBy

   GROUP BY Class ;



* GROUP BY Class 명령에 의해 A 클래스, B 클래스로 정리가 됐다




Having


HAVING 은 집계함수를 가지고 조건비교를 할 때 사용한다.

HAVING 절은 GROUP BY절과 함께 사용된다


> SELECT Class, Name, COUNT(Name) "인원수"

   FROM GroupBy

   GROUP BY Class

   HAVING COUNT(Name) > 2;