본문으로 바로가기
반응형

 

지난 포스팅에서 Oracle 클라우드를 이용해

 

개인용 데이터베이스를 생성했죠.

 

 

 

이번 시간에는 SQLSQL 연산자

 

그리고 DML(데이터 조작어)에 대해서 다뤄보고자 합니다.

 

 

 

 


 

 

 

● SQL

 

 

SQL이란,,

 

Structured Query Language의 약어로,

 

 

관계형 데이터베이스에서 데이터를 조회하거나 조작하기 위해 사용하는 표준 검색 언어로 

원하는 데이터를 찾는 방법이나 절차를 기술하는 게 아닌
조건을 기술하여 작성하는 언어를 말합니다.

 

 

 

 

 

SQL은 크게 4가지로 분류가 됩니다.

 

 

 

DQL, DML, DDL, TCL 이렇게 4가지 구성이 있는데요.

 

보통 DQL은 DML에 속해서 다루고, 

TCL은 DCL이라고도 합니다.

 

 

 

 

 

 


 

● SELECT

 

 

 

SELECT란 데이터를 조회(검색)하는 명령어로 사용됩니다.

 

 

데이터를 조회한 결과를 Result Set이라고 하는데 ,

SELECT구문에 의해 반환된 행들의 집합을 의미합니다.


Result Set은 0개 이상의 행이 포함될 수 있고 특정 기준에 의해 정렬 가능합니다.


한 테이블의 특정 컬럼, 행, 행/컬럼 또는 여러 테이블의 특정 행/컬럼 조회가 가능합니다.

 

 

 

 

 

 

작성법은 아래와 같습니다.

 

 

 

 


 

 

○ SELECT 예시 - 기본

 

 

 

예시로서 

직원의 사번과 이름, 월급을 조회하는 구문을 아래와 같이 작성하고

결과를 확인해봅시다.

 

 

 

 

 

 

 

 

○ SELECT 예시 - 컬럼 값 산술 연산

 

 

 

 

 

 

 

 

 

 

 

○ SELECT 예시 - 컬럼 별칭

 

 

 

 

 

 

 

 

 

 

 

○ SELECT 예시 - 리터럴

 

 

 

 

 

 

 

 

 

 

 

 

○ SELECT 예시 - DISTINCT

 

 

 

 

 

 

 

 

 

 

 

 

○ SELECT 예시 - WHERE절

 

 

 

 

 

 


 

 

 

● 연산자

 

 

  ○ 연결 연산자

 

 

연결 연산자란,

 

‘||’를 사용하여 여러 컬럼을 하나의 칼럼인 것처럼 연결하거나

칼럼과 리터럴을 연결하는 것을 말합니다.

 

 

 

예시) 

 

 

 

 

 

 

 

○ 논리 연산자

 

 

논리 연산자는,

 

여러 개의 제한 조건 결과를 하나의 논리 결과로 만들어줍니다.

 

 

 

 

 

논리 연산자 설명

 

 

 

 

 

 

○ 비교 연산자

 

 

비교 연산자란,

 

표현식 사이의 관계를 비교하기 위해 사용하고, 

비교 결과는 논리 결과(TRUE/FALSE/NULL) 중 하나가 됩니다.


단, 비교하는 두 칼럼 값/표현식은 서로 동일한 데이터 타입이어야 합니다.

 

 

 

 

 

 

 

 

주요 비교 연산자를 하나씩 분석해봅시다.

 

 

 

 

 


 

 

 

  ◎ 비교 연산자 - BETWEEN AND

 

 

 

 

 

 

 

 

 

  ◎ 비교 연산자 - LIKE

 

 

 

 

 

 

 

 

 

 

 

  ◎ 비교 연산자 - NOT LIKE

 

 

 

 

 

 

 

 

 

 

  ◎ 비교 연산자 - IS NULL, IS NOT NULL

 

 

 

 

 

 

 

  ◎ 비교 연산자 - IN

 

 

 

 

 

 


 

○ 연산자 우선순위

 

 

 

 

 

 

 

 

 

 

 

이제 SQL(SELECT)의 간단한 예제를 풀어봅시다.

 

 

 

 

 

 


DML(SELECT) 예제


 

 

※ 모든 SQL 예제는 테이블을 생성하지 않고 문제만 봐도 풀 수 있습니다!

 

 

 

 

난이도 ☆

 

 

 

예제 1

 

 

Q : departments 테이블에서 department_name 이 Marketing 인 데이터 조회

 

 

  

   


 

 

 

 

풀이 :

 

 



SELECT *
  FROM departments
 WHERE department_name = 'Marketing';

 

 

 


 

 

 

 

 

난이도 ★

 

 

 

예제 2

 

 

Q : departments 테이블에서 department_name 이 IT 가 포함된 데이터 조회

 

 

  

   


 

 

 

 

풀이 :

 

 



SELECT *
  FROM departments
 WHERE department_name LIKE '%IT%';

 

 

 


 

 

 

 

 

 

난이도 ★

 

 

 

예제 3

 

 

Q : locations 테이블에서 country_id 가 US 인 데이터 조회를 할 때 

     street_address , postal_code, city 칼럼이 조회되도록 한다.

 

 

  

   


 

 

 

 

풀이 :

 

 



SELECT street_address AS 도로주소
     , postal_code AS 우편번호
     , city AS 도시명
  FROM locations
 WHERE country_id = 'US';

('AS' 별칭은 선택사항)

 

 


 

 

 

난이도 ★☆

 

 

 

예제 4

 

 

Q : locations 테이블에서 postal_code 가 5자리인 데이터 조회

 

 

  

   


 

 

 

 

풀이 :

 

 



SELECT *
  FROM locations
 WHERE postal_code LIKE '_____';

 

 

 


 

 

 

 

난이도 ★

 

 

 

예제 5

 

 

Q : employees 테이블에서 manager_id 가 100이고 department_id 가 50인 데이터 조회

 

 

  

   


 

 

 

 

풀이 :

 

 



SELECT *
  FROM employees
 WHERE manager_id = 100
   AND department_id = 50;

 

 

 


 

 

 

 

난이도 ★

 

 

 

예제 6

 

 

Q : employees 테이블에서 commission_pct 가 NULL 이 아니면서 

     salary 가 10000 이상인 데이터를 조회

 

  

   


 

 

 

 

풀이 :

 

 



SELECT *
  FROM employees
 WHERE commission_pct IS NOT NULL
   AND salary >= 10000;

 

 

 


 

 

 

 

난이도 ★★

 

 

 

예제 6

 

 

Q : COUNTRY 테이블에 모든 데이터를 조회(단, 컬럼명은 한글로 한다.)

 

COUNTRY 테이블의 컬럼 :

(

     country_id
     country_name
     region_id

)

 

  

   


 

 

 

 

풀이 :

 

 



SELECT country_id AS 국가코드
     , country_name AS 국가명
     , region_id AS 지역코드
  FROM countries;

 

 

 


 

 

 

 

 

이상  DML(SELECT) 문제를 마치겠습니다.

 

 

다음 포스팅에선 DML(INSERT,DELETE,UPDATE) , DDL(CREATE)에 대해 다뤄보고자 합니다.

https://healthdevelop.tistory.com/entry/db3

 

[Database] SQL | DML | DDL | TCL | sql 기본키 설정 | sql 외래키 설정 | SQL 예제 (java로 웹개발하기)(day21)

지난 포스팅에서 SQL(SELECT)과 SQL 연산자 그리고 DML(데이터 조작어)에 대해서 다뤄봤죠. 이번 시간에는 SQL(INSERT, DELETE,UPDATE)과 DDL(CREATE, ALTER, DROP)에 대해서 다뤄보고자 합니다. ● DDL DDL..

healthdevelop.tistory.com



반응형