카테고리 없음

KOSTA 교육 (Database, SELECT, FROM, WHERE, ORDER BY, GROUP BY)

코린이 연대기 2021. 3. 9. 17:55

배운 내용

 

  1. Database
  2. SELECT
  3. FROM
  4. WHERE
  5. ORDER BY
  6. GROUP BY

1. Database(데이터 베이스)

Database는?

서로 연관성을 가지며, 중복 없이 지속성으로 유지 관리해야 할 유용한 데이터들을 Database라고 한다.

데이터 베이스가 등장한 이유

  • 데이터 파일 사용 시 중복된 데이터 저장이 빈번히 발생하였음
  • 대용량의 데이터를 관리하기에는 역부족이었음
  • 다중 사용자 환경의 데이터 공유가 어려웠음
  • 보안에 취약함

 

DBMS는?

데이터베이스 관리 시스템으로 대용량의 데이터를 쉽게 저장하고 효율적으로 검색, 수정, 삭제 할 수 있게 환경을 제공해주는 소프트웨어를 말한다.

대표적인 시스템으로는 MySQL, ORACLE 등이 있다.

 

관계형 DBMS
  • 데이터를 단순한 표 형식으로 표현하여 데이터를 관리
  • 데이터베이스의 기본 데이터 저장 단위로 테이블을 사용하며, 테이블 간의 관계를 활용한다.
  • 테이블은 행과 열의 2차월 행렬구조를 가진다.
  • 행은 데이터 파일의 레코드에 해당된다.
  • 하나의 행은 서로 구분되는 속성으로 구성된다.

2. SELECT

SELECT는?

가장 기본적인 절로 테이블이나 뷰에 있는 데이터를 조회할 때 사용한다.

  • SELECT * 혹은 컬럼 FROM 테이블 명;
  • * 은 모든 컬럼을 조회하겠다는 뜻

 

예제를 통해 학습해보자.

 

  • SELECT절을 사용할 때 * 혹은 컬럼을 사용하여 데이터를 조회해야한다.
  • 지금은 *를 사용하였는데 이유는 FROM student에 있는 모든 정보를 조회하고싶기 때문이다.
  • 여기서 *이 아닌 name, major 등을 조회하고 싶다면 * 대신 입력하여 조회할 수 있다.

3. FROM

FROM은?

조회할 SELECT의 칼럼에 대해서 테이블 명을 정의해 주는 것을 말한다.

  • SELECT * 혹은 컬럼 FROM 테이블 명;

4. WHERE

WHERE은?

조건 내용에 대해서 정의해 주는 것을 말한다.

  • WHERE 조건내용

 

예제를 통해 학습해보자.

 

  • FROM employees에 있는 SELECT절에 세 가지의 칼럼을 선언한다.
  • WHERE절으로 last_name이 ‘King’ 인 값만 출력할 수 있게 정의해준다. 또한 hire_date가 ‘03/01/01’ 보다 더 큰 날짜만 출력할 수 있게 정의한다.

 

여기서 WHERE절에 자주 쓰이는 문법들을 살펴보도록 하자

 

  • BETWEEN AND 연산자는 어디부터 ~ 어디까지를 나타낼 때 사용한다.
    employees에 있는 세 가지의 칼럼들을 조회하며 salary가 5000과 10000 사이에 있는 값을 출력하겠다는 의미이다.
  • OR 연산자는 둘 중에 하나를 포함할 시 출력한다는 의미이다.
  • IN 연산자는 ( )에 들어간 값들을 추려내어 출력한다는 의미이다.

 

  • NOT 연산자는 해당 칼럼의 선언한 값을 제외하고 출력한다. 위의 예제에선 department_id에 10이 들어간 값을 제외하고 출력된다.
  • IS NOT NULL 연산자는 NULL을 제외하고 출력시킨다. commission_pct에 NULL값이 제외되고 출력된다.
  • LIKE 연산자는 위의 예시를 보고 활용하면 되는데 활용도가 아주 깊으니 꼭 숙지하고 활용할 수 있도록 한다.
    예시를 예로 들면 07로 시작하는 모든 문자열을 출력하게 되고, a가 포함되지 않는 값을 출력된다.

5. ORDER BY

ORDER BY는?

출력되는 값을 순서대로 출력할 때 사용된다.

  • ORDER BY 칼럼명 (DESC)

 

예제로 살펴보자

 

  • 화학, 물리과와 1, 2학년을 출력하려는데 ORDER BY를 사용하여 정렬시킨다.
  • 여기서 DESC는 내림차순으로 정렬되게 해준다. 사용을 하지 않아도 무방하다.

5. GROUP BY

GROUP BY는?

그룹으로 묶어 원하는 값을 출력하기 위해 사용한다.

  • SELECT 내에 그룹함수만 사용한다.
  • 굳이 다르게 사용하고 싶다면 SELECT절고 동일하게 GROUP BY절에 선언한다.
  • sum() : 더하기 함수, avg() : 평균 함수, max() : 최대값 함수, count() : 카운트 함수

 

예제로 살펴보자

 

  • 부서별 평균 급여를 계산할 시 avg()함수를 사용해야한다.
    SELECT절에 avg(급여(salary))를 선언하고 GROUP BY에 동일칼럼을 선언해주면 해당 칼럼에 대한 평균 급여가 출력된다.
  • 화학과만 출력하고싶기 때문에 WHERE절을 이용하여 major = ‘화학'을 선언하고 SELECT절에는 avg(평균(avr))를 선언한다.
    GROUP BY에는 동일하게 칼럼을 선언하여 출력한다.
  • 학생 수는 count()함수를 이용하는데 수를 판단하기엔 뭐든 사용해도 되니 *을 이용하여 선언한다.
  • 4.0의 학점을 4.5로 환산하기 위해서 평균을 4로 나눈 후 4.5를 곱하여 치환한다.
    여기서 화학과 생물과만 출력되기 위해서 IN(‘화학', ‘생물')을 선언하고 GROUP BY 를 선언한다.