기본 콘텐츠로 건너뛰기

조인과 서브쿼리

1. EMPLOYESS와 DEPT 을 JOIN하여 부서 번호, 부서명, 이름, 급여를 출력하라. SELECT HR_EMPLOYEES.DEPARTMENT_ID, DEPARTMENT_NAME, LAST_NAME, SALARY FROM HR_EMPLOYEES INNER JOIN HR_DEPARTMENTS ON HR_EMPLOYEES.DEPARTMENT_ID = HR_DEPARTMENTS.DEPARTMENT_ID 2. 이름이 'HALL'인 사원의 부서명을 출력하라. SELECT DEPARTMENT_NAME FROM HR_EMPLOYEES E, HR_DEPARTMENTS D WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID AND E.LAST_NAME='HALL' 3. 직원의 이름, 성, 상관 번호, 상관 이름, 성을 출력하라 출력하라. SELECT E1.FIRST_NAME , E1.LAST_NAME, E1.MANAGER_ID, E2.FIRST_NAME, E2.LAST_NAME  FROM HR_EMPLOYEES E1, HR_EMPLOYEES E2 WHERE E1.MANAGER_ID = E2.EMPLOYEE_ID 4. DEPT Table 에는 존재하는 부서코드이지만 해당부서에 근무하는 사람이 존재하지 않는 경우의 결과를 출력하라. SELECT * FROM HR_DEPARTMENTS WHERE DEPARTMENT_ID NOT IN(SELECT E.DEPARTMENT_ID FROM HR_EMPLOYEES E GROUP BY E.DEPARTMENT_ID HAVING COUNT(E.DEPARTMENT_ID) >0 )                 5. 'ALLEN'의 직무와 같은 사람의 이름, 부서명, 급여, 직무를 출력하라.  SQL> select e.ename, d.dname, e.sal, e.job    from ...

SELECT

1. 부서번호가 30인 직원의 모든 정보 출력 SELECT * FROM HR_EMPLOYEES WHERE DEPARTMENT_ID=30 2.성이 KING인 직원의 모든 정보 출력 SELECT * FROM HR_EMPLOYEES WHERE LAST_NAME='KING' 3. 입사일이 00년 2월 7일 이후 입사한 직원들 정보를 출력하라. SELECT * FROM HR_EMPLOYEES WHERE HIRE_DATE>='2000-02-07' 4.이름이 J로 시작하는 직원들 정보 출력 SELECT * FROM HR_EMPLOYEES WHERE LAST_NAME LIKE 'J%' 5.이름이 J보다 큰(알파벳상 뒤에 위치) 직원들 정보 출력 SELECT * FROM HR_EMPLOYEES WHERE LAST_NAME>'J' 6.이름이 B와 Q사이로 시작하는 직원들의 정보를 출력하라. -- SELECT * FROM HR_EMPLOYEES WHERE LAST_NAME>'B' AND LAST_NAME<'Q' SELECT * FROM HR_EMPLOYEES WHERE LAST_NAME BETWEEN  'B' AND 'Q' 7.이름의 2번째 문자가 B인 직원 출력 SELECT * FROM HR_EMPLOYEES WHERE LAST_NAME LIKE '_B%' 7.커미션이 널이 아닌 직원의 이름,성,커티션 출력 SELECT LAST_NAME, FIRST_NAME, COMMISSION_PCT FROM HR_EMPLOYEES WHERE COMMISSION_PCT IS NOT NULL 8.부서번호가 90번이고 월급이 5000이상인 직원들의 이름, 부서번호, 월급 출력 SELECT LAST_NAME, FIRST_NAME, DEPARTMENT_I...

자바 Set, Map

1.Set HashSet<Integer> abc = new HashSet<Integer>(); abc.add(1); abc.add(2); abc.add(3); Iterator it = abc.iterator(); Integer temp = 0; while(it.hasNext()) { temp = (Integer) it.next(); System.out.println(temp); } for(Integer item : abc) { System.out.println(item); } 2.Map HashMap<String,Integer> abc = new HashMap<String,Integer>(); abc.put("a", 0); abc.put("b", 1); abc.put("c", 2); for(String temp:abc.keySet()) { System.out.println(temp); } if(abc.containsKey("a")) { System.out.println(abc.get("a")); } abc.clear(); System.out.println(abc.size());

프로그래머스 - 2 x n 타일링

주의해야 할것은 오버플로우 나머지 연산이 포인트 public class TryHelloWorld { static long [] dp = new long [ 10000 ]; public int tiling ( int n ) { dp [ 0 ] = 1 ; dp [ 1 ] = 2 ; for ( int i = 2 ; i < n ; i ++) { dp [ i ] = ( dp [ i - 2 ]* 2 )+( dp [ i - 1 ]- dp [ i - 2 ]); if ( dp [ i ]> 99999 ) dp [ i ]%= 100000 ; } return ( int ) dp [ n - 1 ]; } public static void main ( String args []) { TryHelloWorld tryHelloWorld = new TryHelloWorld (); // 아래는 테스트로 출력해 보기 위한 코드입니다. System . out . print ( tryHelloWorld . tiling ( 262 )); }}

프로그래머스 - 최고의 집합

mport java.util.Arrays ; //테스트로 출력해 보기 위한 코드입니다. public class BestSet { public int [] bestSet ( int n , int s ){ int [] answer = null ; if ( n > s ) { answer = new int [ 1 ]; answer [ 0 ]=- 1 ; return answer ; } answer = new int [ n ]; int a = s / n ; for ( int i = 0 ; i < n ; i ++) { answer [ i ]= a ; } for ( int i = 0 ; i < s % n ; i ++) { answer [ n - 1 - i ]++; } return answer ; } public static void main ( String [] args ) { BestSet c = new BestSet (); //아래는 테스트로 출력해 보기 위한 코드입니다. System . out . println ( Arrays . toString ( c . bestSet ( 3 , 13 ))); } }

프로그래머스 - 숫자의 표현

내 코드 public class Expressions { public int expressions ( int num ) { int sum = 0 ; int first = 0 ; int cnt = 0 ; for ( int i = 1 ; i <= num / 2 ; i ++) { sum = 0 ; first = i ; while ( true ) { sum += first ++; if ( sum == num ) { cnt ++; break ; } else if ( sum > num ) { break ; } } } return cnt + 1 ; } public static void main ( String args []) { Expressions expressions = new Expressions (); // 아래는 테스트로 출력해 보기 위한 코드입니다. System . out . println ( expressions . expressions ( 15 )); } } 이 코드는 뭐냐.. 내 코드가 초라하다 시간날때봐야지 public class Expressions { public int expressions ( int num ) { int answer = 0 ; for ( int i = 1 ;...

프로그래머스 - 가장 큰 정사각형 찾기

이 문제는 이제 약간 익숙해진 유형 class TryHelloWorld { public int findLargestSquare ( char [][] board ) { int max = 0 ; int min = 0 ; for ( int i = 0 ; i < board . length ; i ++) { for ( int j = 0 ; j < board [ 0 ]. length ; j ++) { if ( board [ i ][ j ]== 'O' ) board [ i ][ j ]= 1 ; else board [ i ][ j ]= 0 ; } } for ( int i = 0 ; i < board . length - 1 ; i ++) { for ( int j = 0 ; j < board [ 0 ]. length - 1 ; j ++) { if ( board [ i ][ j ]== 0 || board [ i ][ j + 1 ]== 0 || board [ i + 1 ][ j ]== 0 || board [ i + 1 ][ j + 1 ]== 0 ) continue ; else { min = board [ i ][ j ] < board [ i ][ j + 1 ] ? ( board [ i ][ j ] < board [ i + 1 ][ j ] ? board [ i ][ j ] : board [ i + 1 ][ j ]) : ( board [ i ][ j +...