목록분류 전체보기 (69)
개발자 항해
문제 설명 어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 1,000,000 입출력 예nresult 144 1 976 2 입출력 예 설명 입출력 예 #1 144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다. 입출력 예 #2 976은 제곱수가 아닙니다. 따라서 2를 return합니다. class Solution { public int solution(int n) { int answer = 2; // 범위가 1,000,000이하라 for문도 그 범위로 적용 for(int i = 1; i
문제 설명 정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 3 ≤ numbers의 길이 ≤ 20 direction은 "left" 와 "right" 둘 중 하나입니다. 입출력 예numbersdirectionresult [1, 2, 3] "right" [3, 1, 2] [4, 455, 6, 4, -1, 45, 6] "left" [455, 6, 4, -1, 45, 6, 4] 입출력 예 설명 입출력 예 #1 numbers 가 [1, 2, 3]이고 direction이 "right" 이므로 오른쪽으로 한 칸씩 회전시킨 [3, 1, 2]를 ..
아래 구문들은 같은 결과값을 나타낸다. 두번째 구문처럼 grouping sets을 쓰면 더 간단히 나타낼수 있다. group by 절에 rollup이나 cube를 쓰면 값이 달라진다. 예) group by rollup dept_id, job_id,mgr_id (d, j, m) (d, j) (d) (전체) 출력 group by rollup (dept_id, job_id),mgr_id (d, j, m) (d, j) (전체) 출력 group by rollup dept_id,( job_id,mgr_id) (d, j, m) (d) (전체) 출력 group by cube dept_id, job_id,mgr_id (d, j, m) (d, j) (j,m)(d,m) (d) (j)(m)(전체) 출력 group by cub..
1. Group화 2. Group by 절 3. HAVING 절 SELECT [column,] group_function(column)... FROM table [WHERE condition] [GROUP BY group_by_expression] [HAVING having_expression] [ORDER BY column]; 4. GROUP BY에 ROLLUP 나 CUBE 사용 1) rollup 기본 그룹화와 소계값을 구해주는 연산자 -rollup(N개 컬럼) => N+1개의 그룹화한 결과가 반환됨 rollup(dept_id) => (dept_id),(전체) => rollup (컬럼 1개) : N+1 = 1 + 1 =2번의 그룹화 rollup(dept_id, job_id) => (dept_id,job..
부서 정보와 사원정보를 조인해서 많이 자주 쓴다고 치자. (부서테이블, 사원정보테이블 따로 있는 상황) 그래서 매번 아래와 같이 조인을 해야한다면.. 불편하다. 그래서 department_name 컬럼을 employees테이블에 추가했다. 추가하고 보니 새로생긴 컬럼에 데이터를 채워야 하는 상황 자료가 많이 일일이 추가하기는 힘들다. 그럴때 상호관련 서브쿼리로 업데이트를 쓰면 편하다. 그리고 update하고 commit;을 해줘야 저장이 된다. delete 구문에도 사용될수있다. 예시는 사직서 낸 사원을 삭제하는 구문.
인라인 뷰에서 데이터 검색을 할수 있고 한테이블에서 다른 테이블로 데이터 복사가 가능하다. 그리고 다른 테이블의 값을 기초로하여 테이블 데이터를 갱신할수 있고 다른 테이블 행을 기초로하여 테이블에서 행을 삭제 할수 있다. 1. subquery로 테이블 복사 2. subquery 구문 1번처럼 쓰나 2번처럼 쓰나 의미가 같다. 그래서 보통 1번 처럼 쓴다. 3. with check option 아래 구문과 위 구문이 비슷해보이지만 아래 구문처럼 with check option 을 붙이면 해당 조건을 만족하는 조건만 삽입시킨다.
메인 쿼리 안에 반복이 되는 쿼리안에 with절로 선언하고 이름을 붙이고 필요한 부분에 이름을 불러 갖다쓰는 개념. with절 결과를 임시저장 해놓고 갖다쓰므로 성능개선에 도움이 된다. 예제1) 예제2) 우리회사 평균 급여보다 큰 부서의 급여 합계를 출력하는 예제 실행 순서는 번호 매긴 순이다.