데이터베이스/Oracle SQL

오라클 SQL과 PL/SQL ( 날짜조회, 연산자, 정렬 )

동띠기 2021. 7. 5. 22:48

날짜조회

오라클에서 날짜를 조회할때에는 반드시 '' 작은따옴표 안에 작성해야 합니다.

숫자외에는 꼭 작은따옴표를 사용해야 하고 문자는 대소문자를 구분, 날짜는 대소문자 구분이 없습니다.

 

 

연산자

오라클에서는 우리가 아는 사칙연산 + - * / 모두 가능하다.

값을 더할수도 뺄수도, 사칙연산이 모두 가능하다.

날짜도 비교가 가능하다.

81/12/25 일 보다 큰 날짜를 비교 하였으니 최신의 날짜가 검색이 된다.

 

BETWEEN으로 구간 데이터 조회를 할 수있다.

BETWEEN의 꼭 알아야 할 점은 작은 값을 앞에 큰값을 뒤에 둬야하며 두 값을 포함하여 결과를 출력한다는 점을 인지한다. 그리고 BETWEEN은 연산속도가 느려서 속도가 느리다. 같은 결과라면 비교 연산자를 쓰는게 훨씬 좋다.

같은 결과 / 빠른속도

 

IN연산자는 여러조건을 간편하게 검색하는 것이고 , 속도가 빠르고 많이 사용된다. 조건에는 숫자뿐 아니라 문자, 날짜도 당연히 올 수 있다.

 

LIKE연산자는 특정단어 등을 폼한 것을 검색할떄 사용한다.

% 기호는 글자수 제한이없고 (0개 포함) 어떤 글자가 와도 상관없다.

_ 기호는 글자수는 한글자만 가능하며 어떤 글자가 와도 상관없다.

 

 

LIKE문도 날짜를 조회하거나 비교할때는 성능에 저하가 올 수 있으니 주의해야하며, 인덱스의 영향으로 %나 _를 절대로 조건에 먼저두면 안된다. 속도에 굉장한 저하가 오기 떄문이다. 조회할 모든 내용에 하나하나 다 확인을 하기때문이다.

 

AND OR 조건

AND : A AND B : A와 B 모두 참이면 참

OR : A OR B : A와 B 둘중에 하나라도 참이면 참

 

AND조건과 OR조건이 같이나오면 무조건 AND조건 이후 OR 조건이 실행된다. 그럼으로 OR조건이 먼저 필요할 때에는 소괄호 () 를 사용하여 연산자의 우선순위를 정해줘야 한다.

사용자에게 입력받아 그 조건에 맞는 값 출력

&기호를 사용하여 사용자에게 입력받는다.

WHERE 조건에서 EMPNO를 입력받아서 검색하였다.

 

 

정렬

ORDER BY를 사용하여 정렬을 할 수 있고 기본값은 ASC ( 오름차순 ) 이다. ASC를 적거나 비워두면 자동으로 오름차순 정렬한다. 내림차순 정렬은 DESC를 사용한다.

오름차순

 

내림차순

정렬은 결과의 출력을 깔끔하고 보기 좋게 하지만 오라클 내부에선 아주 힘든작업이다, 그래서 ORDER BY절을 사용하지 않아야 속도가 빠르다. ORDER BY가 많아질수록 속도가 느리다. 그래서 인덱스를 이용하는 방법을 많이 쓴다. 이 방법은 차후 기술하겠다.

 

연산자의 종류

 

https://moonpiechoi.tistory.com/93

 

728x90