배열 자르기
class Solution {
public int[] solution(int[] numbers, int num1, int num2) {
int[] answer = new int[num2-num1+1];
int index = 0;
for (int i = num1; i <= num2; i++) {
answer[index] = numbers[i];
index++;
}
return answer;
}
}
다른 풀이
import java.util.*; class Solution { public int[] solution(int[] numbers, int num1, int num2) { return Arrays.copyOfRange(numbers, num1, num2 + 1); } } // copyOfRange는 또 뭐지,..
def solution(numbers, num1, num2):
answer = numbers[num1:num2+1]
return answer
조인
내부조인(Inner Join)
SELECT <열 목록>
FROM <첫 번째 테이블>
INNER JOIN <두 번째 테이블> -- INNER JOIN은 'INNER' 생략가능
ON <조인될 조건>
[WHERE 검색 조건]
SELECT buy.mem_id, member.mem_name, buy.prod_name, member.addr
FROM buy
JOIN member
ON buy.mem_id = member.mem_id;
-- 테이블 이름에 별칭을 붙이면
SELECT B.mem_id, M.mem_name, B.prod_name, M.addr
FROM buy B
JOIN member M
ON B.mem_id = M.mem_id;
외부조인(Outer Join)
필요한 내용이 한 쪽 테이블에만 있어도 결과를 추출할 수 있음
형식
SELECT <열 목록>
FROM <첫 번째 테이블(LEFT 테이블)>
<LEFT | RIGHT | FULL> OUTER JOIN <두 번째 테이블(RIGHT 테이블)>
ON <조인될 조건>
[WHERE 검색 조건];
SELECT M.mem_id, M.mem_name, B.prod_name, M.addr
FROM member M
LEFT OUTER JOIN buy B # 왼쪽 테이블(member M)의 내용은 모두 출력되어야 함
ON M.mem_id = B.mem_id
ORDER BY M.mem_id;
SELECT M.mem_id, M.mem_name, B.prod_name, M.addr
FROM member M
LEFT OUTER JOIN buy B
ON M.mem_id = B.mem_id
WHERE B.prod_name IS NULL
ORDER BY M.mem_id
그 외의 조인(자주 쓰이지 않음)