정보보안공부

DBMS_day18 본문

데이터베이스

DBMS_day18

Steady_sp 2017. 8. 3. 11:09

# having 절은 group by를 통해 그룹 지은 값을 대상으로 조건을 걸 수 있다.

 

# group by로 그룹 지은 대상을 where를 가지고 조건을 사용할 수 없다.

 

# having 절은 반드시 group by 뒤에 와야 한다.

 

# select userID, sum(price * amount) '총 구매 액' from buyTBL group by userID;

 

# select groupName, sum( price * amount ) from buyTBL group by groupName;

-> 모든 구매 상품들 중에서 상품 분류 별로 토탈 구매액이 얼만지 알아내기 위한 쿼리이다.

 

# group by를 사용할때 with rollup을 붙여 select하면 총 합계를 계산해서 제일 마지막 행에 덧 붙여준다.

 

# with rollup을 통해 총 합계를 계산시키는 작업은 excel로 내보내기 진행할 때 주로 사용하게 된다.
-> 보고서 작성시 합계를 쉽게 계산 시켜낼 수 있기 때문에

 

# 쿼리를 여러개를 한번에 실행하면 위에서 부터 쿼리를 실행해 나가는데 중간에 에러가발생하면 그 밑에 쿼리는 전부 실행하지 않는다.

 

# Ignore을 사용하면 쿼리가 에러 나도 다음 쿼리를 실행한다.

 

# Duplicate : PK 설정을 통해 값이 중복되어져서 insert가 안 될때 원래 insert 하려고 했던 거 대신 다른 쿼리를 수행하게 만드는 것이다.

 

# 기본적으로 select 쿼리는 테이블 1개를 대상으로 조회를 진행할 수 있다.

 

# 근데 join문을 사용하면 여러 테이블을 대상으로 조회를 진행할 수 있다.

 

# select * from buyTBL inner join userTBL on buyTBL.userID = userTBL.userID;
-> buyTBL에 있는 userID 컬럼에 값과 userTBL에 있는 userID 컬럼에 값이 똑같은 것 끼리 하나의 행으로 합쳐서 모든 컬럼에 값을 출력하겠다.

 

# join을 사용하면 기본 적으로 INNER JOIN으로 사용되어 진다.

 

# INNER JOIN외에 다양한 JOIN수업

 

<sqlDB만들기>

 

 

 

 

-> 만들려는 sqlDB를 workbench로 작성한다.

-> 먼저 데이터베이스를 만들고 그안에 테이블(각각의 컬럼이름, 자료형) 을 만들고

-> 만든테이블안에 insert into를 이용해 작성하려는 데이터를 입력

 

 

-> 만든 userTBL을 select쿼리 진행하는데 조건에 따라 select할수 있다.

-> where 조건으로 원하는 컬럼의 값을 찾을수 있다

-> where 안에 and 와 or 을 이용해 여러가지 조건을 사용할 수 있다.

 

 

-> 원하는 컬럼 addr을 where을 통해 select로 볼수있다.

-> or연산자는 in(원하는 데이터) 랑 같은 의미이다.

 

 

-> like '_용필' 하면 아무글씨가오고용필 이 들어간 단어를 출력한다.

-> like '조%' 하면 조뒤에 어떤글씨가 오거나 안오거나 앞에 조가 있으면 출력한다.

 

 

-> buyTBL2를 복사할때 create table buyTBL2 ( select * from buyTBL ); 로 복사가능

-> buyTBL3을 복사할때는 create table buyTBL3 ( select 원하는컬럼 from buyTBL);

 

 

-> select 쿼리에 group by를 사용하여 userID가 같은 행을 하나만 보여주는데 맨위에 행만 보여지게한다.

-> select 쿼리에 group by에 sum을 하면 userID가 같은 행중 원하는 부분 다더한다.

-> 같은방식으로 avg는 평균 min은 최소, max는 최대이다.

 

-> count쿼리로 userID가 중복된 행의 갯수를 카운트해준다.

 

 

-> select쿼리로 보여질때 보려는컬럼 num을입력하고 '원하는 컬럼의 이름'을 쓰면

-> 테이블이 보여질때 ' ' 안에 입력한 컬럼의 이름으로 보여진다.

'데이터베이스' 카테고리의 다른 글

DBMS_day20  (0) 2017.08.07
DBMS_day19  (0) 2017.08.04
DBMS_day17  (0) 2017.08.02
DBMS_day16  (0) 2017.08.01
DBMS_day15  (0) 2017.08.01
Comments