학원교육 Oracle 2일차

오렌지·2022년 1월 25일
0

order by

정렬할때 사용하는 절
SELECT [컬럼명] FROM [테이블명] ORDER BY [컬럼명] [ASC | DESC]
select (별) from emp order by ename;
-> ename을 정렬
select (별) from emp order by sal;
-> sal을 정렬
select * from emp order by hiredate;
-> hiredate를 정렬

  • desc : 내림차수(큰수 -> 작은수)
    select * from emp order by hiredate desc;
  • asc : 올림차수(작은수 -> 큰수, asc는 디폴트값이라 생략 가능)
    select * from emp order by sal asc;
  • desc와 asc 혼용
    select from emp order by deptno asc, sal desc;
    select
    from emp order by 8 asc, 6 desc;
    ㄴ(8번째, 6번째)(각각의 위치값)숫자로도 가능

집합 연산자

  • Union : (중복제거) 합집합
  • Union All : (중복허용) 합집합
  • Intersect : 교집합
  • Minus : 차집합

주의) 컬럼의 개수와 데이터 형식(타입)은 같아야함. 컬럼 명은 달라도 상관없음

SQL Developer

Oracle 데이터베이스에서 SQL로 작업하기위한 통합 개발 환경

< 단축키 >

  • ctrl+enter : 실행
  • -- 또는 ctrl+/ : 주석
  • shift + delete : 삭제

단일행 함수

문자 함수

  • INITCAP : INITCAP(‘abcd’) -> Abcd (첫글자가 대문자)
  • LOWER : LOWER(‘ABCD’) -> abcd (전체 소문자)
  • UPPER : UPPER(‘abcd’) ->ABCD (전체 대문자)
  • LENGTH : LENGTH(‘한글’) -> 2(2바이트, 공백 포함 글자수 세기)
  • LENGTHB : LENGTHB(‘한글’) -> 4(3바이트, 공백 포함 글자수 세기)
  • CONCAT : CONCAT(‘A’,’B’) -> AB(문자 합치기) 혹은 ‘||’ 써도 됨
  • SUBSTR : SUBSTR(‘ABC’,1,2) -> AB(첫번째 자리(1)부터, 두 글자(2) 출력)
, substr(tel, 1 , instr(tel,' ) ' ) -1) : 지역번호만 출력하기(앞으로 이 식을 활용하면됨)
 출력값 : 051)123-4567 => 051
  • SUBSTRB : SUBSTRB(‘한글’,1,2) -> 한(바이트)
  • INSTR : INSTR(‘A*B#’,’#’) - > 4(해당 문자가 있는 위치 계산)
, instr('A-B-C-D' ,'-',1,3) : 1번째 부터 시작했을때 3번째에 있는 '-'의 자릿수 => 6
, instr('A-B-C-D' ,'-',3,1) : 3번째 부터 시작했을때 1번째에 있는 '-'의 자릿수 => 4
, instr('A-B-C-D' ,'-',3) : 사실상 3,1 => 4
, instr('A-B-C-D' ,'-') : 사실상 1,1 => 2
, instr('A-B-C-D' ,'-',-1,3) : 뒤에서 부터 계산 => 2
, instr('A-B-C-D' ,'-',-3,1) : 뒤에서 부터 계산 => 4
, instr('A-B-C-D' ,'-',-6,2) : 뒤에서 부터 계산 but 못찾으면 0 => 0
  • INSTRB : INSTRB(‘한글로’,’로’) -> 5
  • LPAD : LPAD(‘love’,6,’*’) -> **love(모자란 자릿수만큼 왼쪽에 붙이기)
  • RPAD : RPAD(‘love,’6,’*’) -> love**(모자란 자릿수만큼 오른쪽에 붙이기)
select rpad(ename,9,substr('123456789',lengthb(ename)+1)) 
: 오른쪽 빈자리에 해당 자리수에 해당되는 숫자가 출력되도록 하기
출력값 : CLARK6789 / KING56789 / MILLER789
설명 : substr 함수를 사용하여 123456789를 이름(length(ename))에 해당하는 자리 +1(그다음 순서)부터 붙이게 함.
  • LTRIM : LTRIM(‘love’,’’) -> love(해당 문자 왼쪽 자르기)
  • RTRIM : RTRIM(‘love’,’’) -> love(해당 문자 오른쪽 자르기)
  • REPLACE : REPLACE(‘AB’,’A’,’E’) -> EB(대체하기 A->E)
profile
UI/UX 디자이너 취준생

0개의 댓글