Join은 2개의 테이블에 대해
연관된 튜플들을 결합하여 새로운 릴레이션을 반환한다.
Join은 크게 Inner & Outer Join 으로 구분된다.
해당 글에서는 Inner Join에 대해서 알아본다.
Innerr Join은 Inner Join이란? 글을 참고하자.
Join 조건에 만족하지 않는 튜플도 결과로 출력하기 위한 방법이다.
Left Outer Join, Right Outer Join, Full Outer Join이 있다.
Inner Join의 결과를 구한 후
우측 릴레이션의 어떤 튜플과도 맞지 않는
좌측 릴레이션에 있는 튜플들에 NULL 값을 붙여 Inner Join 결과에 추가한다.
SELECT [테이블명1.]속성명, [테이블명2.]속성명
FROM 테이블명1 Left Outer Join 테이블명2
ON 테이블명1.속성명 = 테이블명2.속성명;
SELECT [테이블명1.]속성명, [테이블명2.]속성명
FROM 테이블명1, 테이블명2
ON 테이블명1.속성명 = 테이블명2.속성명(+);
Join은 2개의 테이블에 대해
연관된 튜플들을 결합하여 새로운 릴레이션을 반환한다.
Join은 크게 Inner & Outer Join 으로 구분된다.
해당 글에서는 Inner Join에 대해서 알아본다.
Outer Join은 Outer Join이란? 글을 참고하자.
Problem URL : 2048
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int map[20][25];
int n,ans;
void s(int idx, int (*m)[25]){
int tm[20][25];
memset(tm, -1, sizeof(tm));
if( idx == n+1 ){
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
ans = ans < m[i][j] ? m[i][j] : ans;
}
}
return ;
}
}
int main(){
memset(map, -1, sizeof(map));
cin >> n;
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
scanf("%d",&map[i][j]);
}
}
s(0,map);
return 0;
}
int (*m)[20]
이 아니라 int (*m)[25]
이다.