문제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; -- 제대로 출력됨 [해결] -- 다시 ..
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 기초 / 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. 사원이름, 입사일, 월급, 커미션을..