본문 바로가기

Learning/SQL

SELECT 문

<SELECT-데이터 조회>

  • 대소문자 구분없이 명령문 입력

  • select + 열의 이름 + from + 테이블 이름

 

  • SELECT문에 적은 열의 순서대로 출력

    1
    2
    SELECT * FROM departments;
    select location_id,department_id from departments;
    cs

     

 

  • as뒤에는 열의 이름을 별칭으로 설정

    1
    2
    select location_id as "지역번호",department_id as "부서번호" 
    from departments;

 

 

  • as, 큰 따옴표는 생략 가능하다.

    1
    2
    SELECT * FROM departments;
    select location_id 지역번호 from departments;
    c

 

 

 

<작성 규칙>

  • 한줄 또는 여러줄 사용 가능하다.

  • 한 문장이 끝나면 반드시 세미콜론 ; 을 적어야한다.

  • 들여쓰기도 상관없이 작성가능하다.

  • 권장: 명령어를 대문자로, 나머지를 소문자로 작성하면 가독성이 좋아진다.

  • 별칭으로 할 열의 이름에 특수문자나 공백을 사용할 때에는 따옴표로 처리해야한다.

    1
    2
    select location_id as "지역 번호",department_id as "부서 번호" 
    from departments;
    cs

 

 

  • 주석처리

    1
    2
    3
    4
    5
    -- 한줄의 주석입니다. 단축키는 CTRL+/
    /*
    여러줄 주석
    을 다는 방법
    */
    c

     

 

 

 

1.테이블의 모든 행과 열을 읽어오기 ( * )

1
SELECT * FROM departments;
cs

 

2.특정 열만 읽어오기

1
SELECT department_id, department_name FROM departments;<
c

 

 

 

 

3.산술 연산자 사용 (+,-,*,/)

    • 우선 순위는 (), *, /, +, -순이다.

       

      1
      SELECT employee_id, first_name, salary FROM employees;
      cs

      1
      2
      SELECT employee_id, first_name, salary, salary+100, salary + (salary*0.1
      FROM employees;
      c

       

 

 

 

 

 

    • --널은 입력되지 않은, 사용가능하지 않은, 알수 없는 값

    • --널값은 제로(0) 또는 공백("")과는 다르다. 널 값은 계산을 할 수 없다.

       

       

      1
      2
      SELECT last_name,job_id, salary, commission_pct, commission_pct + 10 
      FROM employees;
      cs

       

       

 

 

 

 

5.중복된 값 제거: distinct

 

 

1
2
SELECT DISTINCT job_id
FROM employees;
c

 

 

 

 

 

 

 

<SELECT-WHERE 예제>

 

  • employees테이블에서 id, first name, last name 출력

    1
    2
    SELECT employee_id, first_name, last_name
    FROM employees;
    c

     

 

 

 

 

  • employees테이블에서 first name, salary, salary*1.1 as 뉴셀러리 출력

     

    1
    2
    SELECT first_name, salary, salary*1.1 AS "뉴셀러리"
    FROM employees;
     

 

 

 

 

  • employees테이블에서 employee_id는 '사원번호', first_name은 '이름', last_name은 '성'으로 출력

     

    1
    2
    SELECT employee_id as "'사원번호'", first_name as "'이름'", last_name as "성"
    FROM employees;
     

 

 

 

 

<연결 연산자 ||>

 

  • employees테이블에서 last_name과 job_id를 "is a" 문장으로 연결하여 "직업 정보"라는 이름의 열에 함께 출력

 

1
2
SELECT last_name || ' is a ' ||job_id as "직업 정보"
FROM employees;
c

 

 

 

 

  • employees테이블에서 employee_id, first_name과 last_name는 공백으로 연결하여 함께 출력
1
2
3
SELECT employee_id, first_name|| ' ' ||last_name
FROM employees;
 
cs

 

 


 
  • employees 테이블에서 first_name과 last_name 사이에 공백을 넣고 email을 출력하되, 이메일 뒤에 @company.com을 붙이기

    1
    2
    SELECT employee_id, first_name|| ' ' || last_name, 
    email || '@company.com'
    FROM employees;
    cs

 

 

 

'Learning > SQL' 카테고리의 다른 글

BETWEEN  (0) 2020.06.12
IN, NOT IN  (0) 2020.06.12
AND, OR  (0) 2020.06.12
SELECT-WHERE 절  (0) 2020.06.12
오라클 XE, SQL Developer 설치 후 설정  (0) 2020.06.12