본문 바로가기

Study/class note

sql / TCL

ㅇTCL 명령어(Transaction Control Language)

1. commit : 변경한 데이터를 database에 영구히 저장하는 명령어

2. rollback : 변경한 데이터를 취소하는 명령어

3. savepoint : DML 작업 중간중간 취소할 지점을 만드는 명령어

 

update emp
 set sal = 0;
 
delete from emp;

rollback;

이 경우 rollback하면 delete와 update가 둘 다 한꺼번에 취소가 됨.

 

update emp
set sal = 0;

savepoint a;

delete from emp;

rollback to a;

rollback하면 savepoint a까지만 취소됨.

 

savepoint를 따로 해제하거나 할 순 없음. => 그냥 rollback하면 됨.

 

 

 

문제643. CBS라디오 선곡표 3달 데이터를 테이블로 구성하시오.

문제644. 3달동안 나왔던 노래의 가수명만 출력하시오

select regexp_substr(m_name,'[^-]+',1,2)
 from music
 where m_name is not null;

 문제645. (SQL 마지막 문제) 

1. 3개월동안 가장 많이 나왔던 가수명, 건수, 순위를 출력하시오

select singer, count(*), rank() over (order by count(*) desc ) 순위
 from (
        select trim(regexp_substr(m_name,'[^-]+',1,2)) as singer
         from music 
         where m_name is not null )
 where singer is not null
 group by singer;

2.  3개월동안 가장 많이 나왔던 노래명, 건수, 순위를 출력하시오

select song, count(*), rank() over (order by count(*) desc ) 순위
 from (
        select trim(regexp_substr(regexp_substr(m_name,'[^-]+',1,1),'[^.]+',1,2)) as song
         from music 
         where m_name is not null )
 where song is not null
 group by song;

 

반응형

'Study > class note' 카테고리의 다른 글

python / 주석, 자료형 개념, print, for문 개념  (0) 2021.12.07
python / 설치  (0) 2021.12.06
sql / DCL  (0) 2021.12.06
sql / SQL을 이용해서 빅데이터 분석하기(활용)  (0) 2021.12.06
문제8. SQL / 마름모 출력하기  (0) 2021.12.03