본문 바로가기
728x90

전체 글389

ORACLE) Do it! 오라클 9강 연습문제 1) 전체 사원 중 ALLEN과 같은 직책인 사원들의 사원 정보, 부서 정보를 출력하세요 답 SELECT JOB, EMPNO, ENAME, SAL, DEPTNO, DNAME FROM EMP JOIN DEPT USING(DEPTNO) WHERE JOB = ( SELECT JOB FROM EMP WHERE ENAME ='ALLEN') ; 결과 2) 전세 사원의 평균 급여(SAL)보다 높은 급여를 받는 사원들의 사원 정보, 부서 정보, 급여 등급 정보를 출력해보자 (급여가 많은 순으로 정렬하고, 급여가 같으면 사원 번호 기준으로 오름차순) 답 SELECT EMPNO, ENAME, DNAME, HIREDATE, LOC, SAL, CASE WHEN SAL 2022. 10. 21.
JAVA) 멀티쓰레드를 이용해 영화관에서 티켓을 팔자! 멀티쓰레드를 이용해서 영화관 티켓을 파는 코드를 만들어 보았다ㅎㅎ 먼저 티켓을 팔고 채우는 티켓 클래스! package ThreadStudyCGV; import java.util.ArrayList; public class Ticket { final int MAX_TICKET=3; final String ticket = "ticket"; ArrayList ticketBox = new ArrayList(); Ticket() {} public synchronized void add() { String name = Thread.currentThread().getName(); //직원 이름 부여 while(true) { ticketBox.add(ticket); //무한 티켓 추가 if(ticketBox.size(.. 2022. 10. 20.
ORACLE) Do it! 오라클 8강 연습문제 1) SAL이 2000초과인 사원들의 부서 정보, 사원 정보를 오른쪽과 같이 출력하세요 답 SELECT E.DEPTNO, D.DNAME, E.EMPNO, E.SAL FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO AND E.SAL>2000 ; 결과 2) 각 부서별 평균 급여, 최대 급여, 사원 수를 출력하세요 답 SELECT D.DEPTNO, D.DNAME, MAX(E.SAL), SUM(E.SAL), TRUNC(AVG(E.SAL)),COUNT(*) FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO GROUP BY D.DEPTNO, D.DNAME ; 배운 거 대로 하면 이렇게 쓰는 게 맞는데 아빠한테 물어보니까 밑에처럼 써줌 SELECT D.DEP.. 2022. 10. 20.
국비학원 15일차) ORACLE 예습 (다중행 함수, 그룹함수) COALESCE NULL이 아닌 첫번째 칼럼의 값 반환 ,NVL과 똑같이 사용 가능! COALESCE 함수에 입력된 인자 중에서 NULL이 아닌 첫 번째 칼럼의 값을 반환한다. SELECT LAST_NAME, SALARY, COALESCE(COMMISSION_PCT,0) FROM EMPLOYEES; COMMISSION_PCT가 NULL이면 0, 아니라면 그대로의 값 반환해줘 다중행 함수 - 하나의 열의 출력 결과를 담다 SUM 합계 COUNT 갯수 MAX 최대값 MIN 최소값 AVG 평균값 SUM 합계 (NULL 제외) SUM(합계를 구할 데이터,칼럼) SELECT SUM(DISTINCT SAL), SUM(ALL SAL), SUM(SAL) FROM EMP; 1.SAL 중복값은 제외하고 합해줘 2,3 SA.. 2022. 10. 20.
국비학원 15일차) ORACLE 문제들 SELECT LAST_NAME FROM EMPLOYEES WHERE DEPARTMENT_ID=50 AND LAST_NAME LIKE '_a%'; (LIKE 사용) DEPARTMENT_ID가 50인 사람 중에서 LAST_NAME의 두번째 글자가 'a'인 사람만 출력해줘 SELECT LAST_NAME FROM EMPLOYEES WHERE DEPARTMENT_ID=50 AND SUBSTR(LAST_NAME,2,1) LIKE 'a'; (SUBSTR 사용) DEPARTMENT_ID가 50인 사람 중에서 LAST_NAME의 두번째 글자가 'a'인 사람만 출력해줘 SELECT LAST_NAME FROM EMPLOYEES WHERE DEPARTMENT_ID=50 AND INSTR(LAST_NAME,'a',2,1) ; .. 2022. 10. 20.
ORACLE) Do it! 오라클 6강 연습문제 1) EMPNO 열에는 EMP 테이블에서 ENAME이 다섯글자 이상, 여섯글자 미만인 사원 정보만 출력 MASKING_EMPNO 열에는 EMPNO 앞 두자리와 뒷자리를 * 기호로 출력, MASKING_ENAME 열에는 첫글자만 보여주고 나머지는 * 기호로 출력 답 SELECT EMPNO,RPAD(SUBSTR(EMPNO,1,2),4,'*') AS MASKING_EMPNO, ENAME,RPAD(SUBSTR(ENAME,1,1),5,'*') AS MASKING_ENAME FROM EMP WHERE LENGTH(ENAME)>=5 AND LENGTH(ENAME) 2022. 10. 20.
728x90