본문 바로가기
Today I learned

11월27일

by soheemon 2018. 11. 27.



11월27일


11월 26일 복습

- 파일시스템으로는 무결성을 보장할 수 없어서 DB를 사용한다.


- 질의문 SELECT 

- 조건을 나눌때 WHERE절 사용
- and 연산자 or 연산자
- in연산자 not 연산자 is not null 연산자

- order by 정렬하고자 하는 컬럼 이름[각주:1]

- 계정 생성: create user 

- 계정 권한 부여: grant

- sql file load: @ 파일 경로


- group by 절: 그룹별로 분류할때 사용한다

- group by 절 사용시 그룹함수, group by 절을 사용한 컬럼만 쓸 수 있다.


Having절: 

- 예제

SELECT department_id, AVG(salary) 

FROM departments 

GROUP BY department_id

HAVING AVG(salary) < 5000;

- GROUP BY 절에 의해 생성된 결과 값 중 원하는 조건에 부합하는 자료만 보고자 할 때 사용한다.

- 서브쿼리에서 많이 사용한다.
- 기존에는.. GROUP BY 절을 사용하면 기본적으로 '모든그룹'에 해당하기 때문에 특정 그룹만 출력하기 위해서는 where절을 추가해야만 했다..

- 하지만 HAVING절을 사용하면 전체 그룹에서 일부의 그룹만 추출 할 수 있다.

- WHERE절을 썼을때와 결과는 같지만 성능적으로 우수하다.


- 예제2

SELECT ROUND(AVR(avr),2) "평점" 

FROM STUDENT 

GROUP BY major

 HAVING major <> '화학' 

AND AVG(avr) >= 2.0;

- HAVING절에서도 GROUP BY절에서 사용한 컬럼이나, 그룹함수만 사용 할 수 있다.


ORACLE 함수의 종류


- ROUND(컬럼명, 반올림할 자리) : 소수를 반올림 해준다.

- LOWER(컬럼명) : 소문자로 변환해준다

- UPPER(컬럼명) : 대문자로 변환해준다

- SUBSTR(컬럼명: 저기서부터, 여기까지): 문자열에서 저기서부터 여기까지  출력해준다.

- LENGTH(컬럼명): 컬럼내 데이터의 길이를 반환해준다.

- MOD(A,B): A를 B로 나웠을때 나머지 길이를 반환해준다.

- ROUND(A, 숫자): A를 반올림하는데 숫자가 음수면 

- CEIL(컬럼명): 무조건 소수점을 올린다

- FLOOR(컬럼명): 무조건 소수점을 내린다.

- SYSDATE: 현재 날짜를 출력한다. 연산도 가능합니다.

  SELECT SYSDATE -1 "어제", 

  SYSDATE + 1 "오늘" 

  FROM DUAL


- TO_CHAR(컬럼명, '형식'): 변환함수. 가장 많이 쓰이는 함수중에 하나다.

- 날짜형식을 지정해보자. (많이 사용한다.)

  SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD')

  AS CHAR타입날짜

  FROM DUAL;

- 숫자의 형식도 지정해보자.

  SELECT TO_CHAR(5000000000, '$999,999,999')

  FROM DUAL;


C


- J

C


- J

C


- J

C


- J

C


- J












































SELECT 'DataBase', UPPER('DataBase')

FROM dual;


SELECT 

SUBSTR('hello world!', 7, 6)

AS substr테스트

FROM dual;


SELECT 'helloworld',

LENGTH('helloworld')

FROM dual;








  1. default: asc 내림차순: desc [본문으로]

'Today I learned' 카테고리의 다른 글

12월13일  (0) 2018.12.26
12월11일  (0) 2018.12.26
singleton pattern  (0) 2018.10.26
JAVA 2주차 강의 정리  (0) 2018.10.24
JAVA 1주차 강의정리  (0) 2018.10.14

댓글