본문 바로가기

SQL/초보MS-SQL

avg평균 count갯수 max/min/sum합 between사이~!!쓰는 방법을 볼까?

문제1) 난이도(평이) (내장 함수)

 

Titles 테이블에 있는 품목(도서)에 대한 최고가격과 최저 가격을 동시에 화면에 출력합니다. 이때 별다른 컬럼의 이름은 출력하지 않습니다.

 

Select max(price), min(price) from titles;

//MAX가장 큰 수 MIN, 가장 작은 수, price는 값을 말한다 즉 가격

 

문제2) 난이도(평이) (내장 함수)

 

Titles 테이블의 도서의 총 갯수를 구하여 화면에 출력합니다. 마찬가지로 별도의 컬럼 이름이 나오지 않습니다.

 

Select count(*) from titles;

//count는 갯수를 말하고 (*)는 모든것을 *이것으로 표현한다. 

 

문제3) 난이도(평이) (내장함수)

 

Titles 테이블에서 advance5000인 품목의 개수를 구하십시오.

 

select count(*) from titles //모든개수count(*)

where advance = 5000; //where는 어딘지,advance는 컬럼이겠졍~


, 여기서 COUNT(*) 대신에 count(title_id) 이런 식으로 다른 필드를 삽입하여도 동일한 결과를 얻을 수 있습니다.

 

select count(type) from titles

where advance = 5000;

 

그리고 유의할 사항은 값을 삽입할 경우 advance = 5000 혹은 advance = 5000 이라고 표기하면 에러가 출력됩니다. 왜냐하면 이것의 데이터형(자료형) money로써 사실상 정수형(int)이나 다름없기 때문에 따옴표를 생략해야 합니다.

 

문제4) 난이도(평이) (내장함수)

 

Royalty 10~20 사이인 도서의 개수를 화면에 출력하십시오.

 

select count(*) from titles

where royalty >=10 and royalty <=20; //and를 써서 사이를 표현!


또는

select count(*) from titles

where royalty between 10 and 20; //between을 써서 사이~를 표현!

 

위의 두가지 형식으로 답을 적을 수 있습니다. 다만 count(*)를 적을 때는 역시 3번 문제와 같이 다른 필드를 적어도 좋습니다. 물론 비교 연산자에서 ( )를 삽입하여도 무방합니다.

 

문제5) 난이도(평이) (내장함수)

 

전체 도서 가격의 평균을 구하십시오.

 

select avg(price)  //avg가 평균이 된다.

from titles;

 

물론 이것은 이와 같이 표현할 수도 있습니다.

 

select sum(price) / count(price) // sum합~! sount갯수~!

from titles;