본문 바로가기
SQL

SELECT 문

by rubyda 2020. 4. 22.
728x90
모두의 SQL: 누구나 쉽게 배우는 데이터 분석 기초/ 김도연 지음을 참고하여 공부하고 정리하는 스터디 포스팅입니다.

 

SQL문 작성 규칙


  1. SQL문은 대문자와 소문자를 구별하지 않습니다.

  2. SQL문은 한 줄 또는 여러 줄로 작성할 수 있습니다.

  3. 코드 수준에 따른 들여쓰기는 SQL 문장을 좀더 읽기 쉽게 해줍니다.

  4. 명령어를 대문자로 작성하고 나머지를 소문자로 작성하면 가독성이 좋습니다.

 

SELCT 문 기본 문법


SELECT        [DISTINCT]  열 이름  [or 별칭(alias)]

FROM         테이블 이름

[WHERE       조건식]

[ORDER BY   열 이름 [ASC or DESC]];

SELECT 명령어는 데이터를 선택한다는 의미로 선택된 데이터를 화면에 출력한다는 것입니다. 즉 출력만 될 뿐 실제 데이터의 값이 데이터베이스에 반영되지는 않습니다.

그래서 SELECT 문을 실행할 때는 데이터가 변경되거나 삭제될까봐 걱정하지 않아도 됩니다~~

 

그럼 예제를 통해 실습을 해보도록 하겠습니다.

 

 

 

[전체 데이터 조회]

SELECT *
FROM HR.employees;

*는 '모든 열'을 의미합니다. 해석하자면 employees 테이블로부터 모든 열을 조회하라!는 의미입니다.

 

실행 결과

 

 

▷  원하는 열 조회하고 정렬하기

[employee_id, first_name, last_name 출력하세요.]

SELECT employee_id, first_name, last_name
FROM HR.employees;

 

실행 결과

 

ORDER BY

  • ORDER BY는 데이터를 정렬해주는 명령어 입니다.

 

[employee_id, first_name, last_name 출력하고 emplooyee_id를 기준으로 내림차순 정렬하세요.]

SELECT employee_id, first_name, last_name
FROM HR.employees;
ORDER BY employee_id DESC;

 DESC는 내림차순, ASC는 오름차순으로 정렬해줍니다.

 

실행 결과

 

 

DISTINCT

  • DICTINCT 명령어는 중복된 행을 제거하여 출력합니다.

여기서 보면 JOB_ID에 중복된값들이 존재하는것을 알 수 있습니다. 이 상태로는 JOB_ID의 종류를 파악하기 어려워 중복을 제거하여 확인해보도록 하겠습니다.

 

SELECT DISTINCT job_id
FROM HR.employees;

 

실행 결과

중복이 제거 되었습니다. 이렇게 하면 종류별로 어떤 데이터가 있는지 보기 쉬워집니다.

 

 

AS

  • AS는 열 이름을 변경할때 사용하는 접속사입니다. AS뒤에 원하는(바꾸고 싶은) 이름을 작성하면 됩니다.
SELECT employee_id AS 사원번호, first_name AS 사원이름, last_name AS 성 FROM HR.employees;

 

실행 결과

다음과 같이 바뀐 것을 확인할 수 있습니다. 보통 열 이름이 긴경우 SQL 문이 길어질수록 일일이 기술하기 어렵기 때문에 별칭을 사용해서 많이 바꿔준다고 합니다!!

 

 

연결 연산자 ||

  • 연결 연산자 ||를 사용하면 각 열의 결과를 연결하여 하나의 열로 결과를 표현할 수 있습니다. 붙이고 싶은 열은 || 을 사용해서 작성하는데 문자열은 작은 따옴표를 해주어야 합니다.

[employee_id를 출력하고 first_name과 last_name을 붙여서 출력하세요.] 

SELECT employee_id, first_name || last_name
FROM employees;

 

실행 결과

 

 

[employee_id를 출력하고 first_name과 last_name을 붙여서 출력하는데 한 칸을 띄고 출력해주세요.

email을 출력하는데 @company.com을 붙여서 출력해주세요.] 

SELECT employee_id, 
       first_name ||' '|| last_name,
       email || '@' || 'company.com'             
FROM HR.employees;

 

실행 결과

 

산술 연산자

  • 산술 연산자는 데이터 값을 계산 할 때 사용합니다. 산술 연산자에는 더하기(+), 빼기(-), *(곱하기), /(나누기)가 있습니다. SELECT 문에서는 FROM 을 제외한 모든 절에서 산술 연산자를 사용할 수 있습니다. 연산의 우선순위는 수학의 일반적인 계산과 동일합니다.

[employee_id, salary, salary에 500을 더한 값, 200을 뺀 값, 10%를 추가해서 2로 나눈 값을 출력하세요.]

SELECT employee_id, salary, salary+500, salary-200, (salary*1.1)/2
FROM HR.employees; 

 

실행 결과

 

앞에서 배운 별칭을 적용해서 응용을 한번 해보겠습니다.

 

SELECT employee_id AS 사원번호,
          salary AS 급여,
          salary+500 AS 추가급여,
          salary-200 AS 인하급여,
          (salary*1.1)/2 AS 조정급여
FROM HR.employees;

 

실행 결과

 

위에 예제보다 훨씬 더 알아보기 쉽게 출력이 됩니다. 그리고 산술 연산자는 실무에서 급여 계산, 매출 계산, 날짜 계산에도 활용이 많이 됩니다.

'SQL' 카테고리의 다른 글

엔터티 식별자  (0) 2021.03.14
관계(Relationship)  (0) 2021.03.14
속성(Attribute)  (0) 2021.03.14
3층 스키마  (0) 2021.03.14
데이터 모델링  (0) 2021.03.14