在一次面试中,我被要求用C语言实现SQL左外连接。有任何想法,请输入我如何实现它。谢谢。
Input :
A
1,A,X
2,B,Y
B
2,M
3,N
Output of Left Outer Join between A and B is as below.
1,A,X,
2,B,Y,M
#include<stdio.h>
void main()
{
char A[10][3] = { {1,A,X},{2,B,Y} };
char B[10][2] = { {2,M} , {3,N} };
for ( int i=0; i<2;i++ )
{
for(int j=0; j<2; j++ )
{
if( A[i][0] == B[j][0])
printf("%c\t%c\t%c\t%c",A[i][0],A[i][1],A[i][2],B[i][1]);
else
printf("%c\t%c\t%c\t",A[i][0],A[i][1],A[i][2]);
}
}
}
问候, SOAddict
最佳答案
您可以为第一个表中的键值创建一个哈希并保存它的索引,然后迭代第二个表键值,如果哈希中存在键,那么您将转到该索引并合并。
关于sql - C语言如何实现Left Outer Join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28620977/