본문 바로가기

Study

(259)
문제2. SQL / 이메일에서 도메인 추출하기 [내가 쓴 코드] select substr(substr(email, 1,instr(email, '.')-1),instr(email,'@')+1) from emp; [내가 쓴 코드의 문제] 이메일 아이디에 '.'이 포함되면 null값이 나옴 [다른 사람이 쓴 코드] -- 1 select substr( email, instr(email,'@')+1, instr(email,'.')-instr(email,'@')-1 ) from emp; -- 이메일 아이디에 '.'이 포함되면 null값이 나옴 -- 2 select substr(email,instr(email,'@')+1,instr(substr(email,instr(email,'@')+1),'.')-1) from emp; -- 제대로 출력됨 [해결] -- 다시 ..
오라클 기능코드 -- 컬럼명과 유형 찾기 describe emp; -- 내가 접속한 오라클 환경의 데이터 형식을 확인하는 방법 select * from nls_session_parameters; -- 현재 셋팅되어 있는 날짜형식('RR/MM/DD') 변경하기 alter session set nls_date_format='YY/MM/DD'; -- sql의 실행계획을 확인하는 방법 explain plan for select ename, sal from emp where sal like '30%'; select * from table(dbms_xplan.display); -- sql 컬럼별 데이터 종류 찾기 select distinct class_type from emp14; -- csv 파일로 테이블 생성하기(예시) --1..
sql 기본 / 데이터분석 함수 (rank) 041 데이터 분석 함수로 순위 출력하기 1(RANK) rank() over (order by 컬럼명) : over 확장하다는 뜻. 즉, over 다음에 나오는 괄호안의 내용으로 확장해서 rank를 출력하겠다는 뜻 문제165. 이름, 월급, 월급에 대한 순위를 출력하시오 select ename, sal, rank() over (order by sal desc) as 순위 from emp; 문제166. 직업이 ANALYSTE, MANAGER인 사원들의 이름, 직업, 월급과 월급에 대한 순위를 출력하세요 select ename, job, sal, rank() over (order by sal desc) as 순위 from emp where job in ('ANALYST','MANAGER'); 문제167. 이..
sql 기본 / 복수행함수 ㅁ복습 1. 오라클 설치(18c) 2. 기본 select 문 : select , from , where, order by (실행순서 : from > where > order by > select) 3. 단일행 함수 : 문자, 숫자, 날자, 변환, 일반 복수행 함수 : max, min, avg, sum, count 036 최대값 출력하기(MAX) max(컬럼명) --사원 테이블에서 최대 월급을 출력하세요 select max(sal) from emp; 문제125. 우리반에서 최대 나이를 출력하시오 select max(age) from emp14; 문제126. 직업이 SALESMAN인 사원들 중에서 최대월급을 출력하시오 select max(sal) from emp where job = 'SALESMAN'; -..
문제1. SQL / 통신사, 통신사별 최소나이 출력하기 [코드를 쓴 상황] emp테이블에 등록된 학생들의 정보로 통신사와 통신사별 이용자의 최소 나이 출력하시오. 단, 통신사는 sk telecom이용자는 sk,skt,SK,SKT 등으로 기재되어 있음. [내가 쓴 코드] select decode(lower(telecom), 'kt', 'kt','lg','lg','sk'), min(age) from emp group by decode(lower(telecom), 'kt', 'kt','lg','lg','sk'); [다른 사람이 쓴 코드] -- 선생님이 쓴 코드 select decode(lower(telecom), 'skt','sk',lower(telecom)), min(age) from emp group by decode(lower(telecom), 'skt','..
sql 기본 / 변환함수, 일반함수 [복습] 1. select 문 : select - 검색할 컬럼명 from - 테이블명 where - 검색조건 order by 정렬할 컬럼명 2. 함수 - 단일행 함수 : 문자, 숫자, 날짜, 변환, 일반 - 복수행 함수 : max, min, avg, sum, count 문제99. 부서번호가 20번이 아닌 사원들의 이름과 월급과 부서번호를 출력하는데 월급이 낮은 사원부터 출력하시오 select ename, sal, deptno from emp where deptno != 20 order by sal asc; 030 문자형으로 데이터 유형 변환하기(TO_CHAR) to_char(입력값, 포맷) > 숫자를 문자로 변환하기 --이름이 SCOTT인 사원의 입사한 요일과 월급을 출력하는데 월급을 출력할 때 천단위를..
sql 기본 / 문자함수, 숫자함수, 변환함수 017 문자에서 특정 철자 추출하기(SUBSTR) substr('컬럼명이나 문자열', 시작순서, 출력할 문자 개수) --SMITH만 출력하고 싶을때 select 'SMITH' from dual; -- = 5; 문제69. 우리반 테이블에서 이름과 이메일과 이메일 철자의 길이를 출력하고 이메일의 철자의 길이가 높은 학생부터 출력하시오 select ename, email, length(email) from emp14 order by length(email) desc; select ename, email, length(email) from emp14 order by 3 desc; 019 문자에서 특정 철자의 위치 출력하기(INSTR) instr(컬럼명 또는 문자열, 찾고 싶은 철자) --SMITH라는 단어에서 ..
sql 기본 / 문자함수 함수의 종류 2가지 1. 단일행 함수 : 하나의 행이 함수에 입력되어서 하나의 행으로 출력되는 함수 2. 다중행 함수 : 여러개의 값이 함수에 입력되어서 하나의 값으로 출력되는 함수 016 대소문자 변환 함수 배우기(UPPER, LOWER, INITCAP) -- 사원테이블에서 이름을 출력하는데 모두 소문자로 출력하시오 select lower(ename) from emp; select lower(ename), upper(ename), initcap(ename) from emp; 문제56. 이름이 scott인 사원의 이름과 월급을 출력하시오.(이름을 소문자로 검색해도 결과가 출력되게 하시오) select ename, sal from emp where lower(ename) = 'scott'; 문제57. (오..
sql 기초 / distinct, order by, where절, 산술연산자, 비교연산자, 논리연산자 문제10. 사원테이블의 사원번호와 이름과 월급을 출력하는데 컬럼명이 '사원번호' '사원이름' 'Salary'로 출력하세요 select empno as 사원번호, ename as 사원이름, sal as "Salary" from emp; /* 별칭 Salary 를 큰따옴표("") 없이 작성할 경우 SALARY로 출력됨 (대소문자 구분 시) 이 외 공백문자, 특수문자(_,$)를 컬럼별칭에 사용하고 싶을 때 큰 따옴표("") 사용 큰 따옴표("")를 사용하는 경우는 오라클 통틀어서 위와 같은 경우밖에 없음 */ 문제11. 사원번호, 이름, 월급, 부서번호를 출력하는데 부서번호를 출력할 때 컬럼명이 "부서 번호"로 출력되게 하세요 select empno as 사원번호, ename as 이름, sal as 월급, ..
sql 기초 / 컬럼선택, 출력, 컬럼별칭, 연결연산자 -- 결과가 중간에 잘리는게 보기 싫은 경우 다음과 같이 설정 set pages 400 -- 세로 사이즈 길이 조정(pagesize) set lines 3000 -- 가로 라인 길이 조정(linesize) --exit 명령어로 sqlplus를 종료하게되면 설정했던 lines와 pages가 초기화됨 > 재설정해줘야 함 001 테이블에서 특정 열(COLUMN) 선택하기 select 컬럼명 from 테이블명; --emp테이블로부터 이름과 월급, 직업을 조회하시오 select ename, sal, job from emp; 문제1. 사원번호, 이름, 월급, 직업, 부서번호를 출력하시오 select empno, ename, sal, job, deptno from emp; 문제2. 사원이름, 입사일, 월급, 커미션을..

반응형