본문 바로가기

카테고리 없음

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

배운 내용

 

  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 를 선언한다.