Oracle

Oracle 기초

LightCY 2020. 8. 9. 17:51

1. SELECT 구문에 올 수 있는 명령어 5가지를 제시하세요. (SELECT 제외)

FROM, WHERE, GROUP BY, HAVING , ORDER BY

 

2. SELECT 구문의 실행순서를 적으세요. ( 총 6개의 순서)

   1) FROM

   2) WHERE

   3) GROUP BY

   4) HAVING

   5) SELECT

   6) ORDER BY

 

3. Alias 의 기능(역할)을 적으세요. ( SELECT user_Name AS userName FROM user )

- MyBatis에서의 활용방법도 적어주세요.

 

 - 컬럼에 별칭을 붙힌다는 뜻. 결과값의 컬럼명을 변경시켜준다. - 

L mybatis : 

  ex). user 테이블 :  userNo로 카운팅을 해서 결과값으로  

     total 이라고 나와야 하지만 count(userNo)  라고 뜬다.

        5                                    5

그래서 컬럼명과 변수명이 같지 않아서 매핑이 안된다.

- 주로 mapper를 이용해 변수와 매칭시킬때 사용한다.

 

4. 조건식 10가지(Null 체크 포함)를 제시하세요  ( ex. = , > ... )

"  =, >, < , >=, <= , <> , !>, !< , IS NULL, IS NOT NULL  "

 

5. GROUP BY 에 대한 설명과 실행 시킨 후 결과를 제시하세요.

 

해당 결과값을 그룹단위로 묶어서 결과를 도출하는 역할을 하고있다.

결과 - 사진

 

<GROUP BY 전>

 

 

<GROUP BY 후>

 

 

GROUP BY 로 묶어서 movieCode를 count 

 

 

 

6. =, LIKE, BETWEEN, DISTINCT 에 대해 설명하세요.

 

= : 해당 결과값만 일치하는 값을 도출한다. 

(서브쿼리 사용시 = 는 1개의 값만 비교가능)

 

LIKE :  어떤 특정한 패턴에 부합하는 부분을 찾으려 할 때 쓴다.

'-' : 글자숫자를 정해줌(ex. 컬럼명 LIKE '홍_동' -> 홍길동, 홍일동, 홍이동, 홍삼동)

'%' : 글자숫자를 정해주지않음(EX 컬럼명 LIKE '홍%' -> 홍삼, 홍길동, 홍삼캔디, 홍수가났어요 )

 

BETWEEN : ~에서부터 ~까지의 데이터를 출력한다.

SELECT * FROM movie WHERE movieUpdate BETWEEN 2020-03-01 AND 2020-03-31

-> 2020-03-01 와 2020-03-31 사이에 있는 데이터 출력

 

DISTINCT  : 조회하려는 칼럼의 중복되는 값은 제거 후 보여준다.

SELECT DINTINCT movieUpdate, managerCodeFROM movie

 

 

 

 

 

7. IN 과 = 의 사용법과 차이점을 제시하세요

 

= : 해당 1개의 값만 일치하는 값을 도출한다. 

SELECT * FROM movie WHERE movieName = '라라랜드'

 

서브쿼리 사용시 = 는 1개의 값만 비교가능

SELECT  * FROM movie WHERE managercode = (select managerCode from movie where managerCode = 2080)

ERROR : Error Code: 1242. Subquery returns more than 1 row

 

 

 

IN : WHERE 절 내에서 특정값 여러개를 선택하는 SQL 연산자

사용법 :  SELECT * FROM movie WHERE managerCode IN (2080, 2082, 2085)

 

서브쿼리 : 여러 값 비교 가능

SELECT  * FROM movie WHERE managercode IN (select managerCode from  where movieUpdate > 2020-03-01 )

 

 

8. 연산함수 5가지와 설명을 서술하고 연산함수의 주의할 점을 적어주세요.

avg() : 평균값

count() :개수

max() : 최대값

min() : 최소값

sum() : 합계

 

전체에 대한 계산이므로 무조건 1개의 결과값만 나와야한다 (SELECTONE) 

만약 2개 이상, 계층, 레벨 을 구하고 싶다면 서브쿼리나 그룹핑을 해줘야 한다.