본문 바로가기
728x90
반응형

배우기/복습노트[oracle sql]70

[실습문제] 2023. 10. 27.(금) 문제 풀이(5문제) 실습문제 1. STUDENT 테이블에서 각 학생의 이름, 전화번호를 출력. 단 전화번호는 다음과 같은 형태로 출력 055)381-2158 => 0553812158 나는 첫 줄의 방법대로 풀었는데 replace를 두 번 썼더니 조금 헷갈린 부분이 있었다. 선생님은 두 번째 해설을 추가해주셨는데 이 방법이 더 깔끔해보였다. translate는 치환하려는 값이 없으면 그 대상을 삭제해버리기때문이다. Oracle에서만 쓸 수 있는 방법일듯. 실습문제 2. 아래 문장을 실행한 후(기존 데이터에 특문 삽입), professor 테이블에서 각 교수의 이름, 급여, ID를 출력 단, ID에 있는 특수기호는 모두 삭제한 후 리턴 update professor set id = 'captain!!' where PROFNO .. 2023. 10. 30.
[문제풀이] SQL | Oracle 연산자문제 1~10번 문제 1) EMP 테이블에서 급여가 1300에서 1700 사이인 사원의 성명, 업무, 급여, 부서번호(deptno)를 출력하여라. 문제 2) EMP테이블에서 사원번호(empno)가 7902, 7788, 7566 인 사원의 사원번호, 성명, 업무, 급여, 입사일자(hiredate)를 출력하여라. 문제 3) EMP테이블에서 입사일자가 82년도에 입사한 사원의 사 원번호, 성명, 담당업무, 급여, 입사일자, 부서번호를 출력하여라. 문제 4) EMP 테이블에서 이름의 첫 글자가 ‘M’인 사원의 이름, 급여를 조회하라. 문제 5) EMP 테이블에서 이름의 두 번째 글자가 ‘L’인 사원의 이 름, 업무를 조회하라. 문제 6) EMP 테이블에서 보너스(comm)가 NULL인 사원의 사원 번호, 이름, 업무, 급여, .. 2023. 10. 29.
[복습] SQL | Oracle 엑셀 데이터를 DB에 import하는 방법(DB화) + 복습후기(20231027) 마지막으로 엑셀 데이터를 DB화 하는 법을 배웠다. 1. table 생성하기 미리 선생님이 공유해주신 화면으로 엑셀에 저장된 데이터 형태를 파악했기에 아래와 같이 작성할 수 있었다. 이렇게 작성한 후 실행하면 테이블이 만들어진다. 만일 실수로 생성하여 지우고 싶다면 drop table movie_table; 하면 생성된 테이블을 지울 수 있다. 그리고 생성된 table에 실데이터 값을 넣어보자. 2) table에 데이터 값 넣기 위 메뉴에 Tools 로 들어가 Load Tool 을 클릭한다. Load 탭이 생성된 것을 확인할 수 있으며 접속한 계정으로 Connect 한다. table에서 생성했던 MOVIE_TABLE을 찾을 수 있으며 이 table을 선택하면 우측 화면이 아래와 같이 나타난다. 일단 아까.. 2023. 10. 28.
[복습] SQL | Oracle 날짜 함수: 날짜 추출 함수(extract, to_char) 앞선 글에서 emp 테이블에서 각 직원의 이름과 입사연도를 출력하라는 연습문제가 있었다. 이제까지 배운 문자 함수로는 풀 수가 없었다. 특히 substr로 풀기에는 아래처럼 접근이 적절치 않았다. 이러한 결말은 바로 다음과 같기 때문이다. 날짜 타입은 각 DBMS마다 기본 저장 포맷이 있다. 내가 테스트하고 있는 orcl이라는 현 DB는 YY/MM/DD라는 포맷을 가지고 있으며, 날짜 데이터 출력 시 사용한 개발 툴의 날짜 출력 포맷에 따라 출력된다. 내가 사용하는 개발 툴은 orange이며 이 경우는 YYYY/MM/DD 이다. 따라서 substr을 쓰면 원하는 포맷대로 출력이 되지 않는다. 먼저 내가 현 DB에 저장된 날짜 포맷이 YY/MM/DD임을 아는 경우 월을 추출하는 방법을 써보겠다. 우선 이 .. 2023. 10. 28.
[복습] SQL | Oracle 문자 함수: 문자열 치환(삭제) 함수(replace) 그리고 translate 문자열 치환(삭제) 함수인 replace는 replace(원본대상, 찾을 문자열[, 바꿀 문자열]) 형태로 변형된다. 아래 여러가지 방법으로 실습을 해보았다. replace('abcba', 'ab', 'AB') 는 abcba에서 앞의 ab를 AB로 바뀌었다. 여기서 보면 ab는 바꾸었으나 ba는 바꾸지 않았다. 즉 같은 문자열인 ab에만 영향이 간 것을 알 수 있다. replace('abcba', 'ab')는 바꿀 문자열을 생략한 것으로 바꿀 문자열을 생략하면 ab를 없앤다는 의미가 되므로 ab가 삭제된다. replace('abcba', 'ab', '')는 바로 직전 실습과 마찬가지로 ab를 작은따옴표 안으로 바꾼다는 의미인데 작은 따옴표 안에는 아무 내용도 없으므로(스페이스바로 띄운 공란 조차 없음) .. 2023. 10. 28.
[복습] SQL | Oracle 문자 함수: 문자열 삽입 함수(lpad, rpad), 문자열 삭제 함수(trim, ltrim, rtrim) 문자열 삽입 함수로 lpad, rpad가 있다. 활용 예시를 보면 아래와 같다. abcd라는 네 글자의 단어 길이를 10길이로 만들고 그 빈 공간을 *로 채워서 총 10길이로 만들 수 있다. lpad는 왼쪽, rpad는 오른쪽 공간을 채우게 된다. 잘 쓰지 않는 기능이나, 주로 줄맞추기 할 때 사용된다. orange에서는 공백과 영문 글자 사이즈가 달라 정렬이 잘 보이지 않으므로 cmd 창에서 실습해보면 아래와 같다. orange에서는 위와 같이 오른쪽 정렬이 잘 보이지 않고, 이렇게 cmd에서 보면 오른쪽 정렬이 되어있다. 이렇게 왼쪽정렬, 오른쪽 정렬할 때 사용하기도 하나 ★다음 활용 예시가 매우 중요하다. 예를들어 년: 2018 월: 2 일: 1 인 자료가 있다고 하자. 이 자료를 || 를 사용하여.. 2023. 10. 27.
728x90
반응형