【发布时间】:2015-02-20 03:01:09
【问题描述】:
我在一次采访中被要求用 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
【问题讨论】:
-
请分享你的想法,伙计们..不要投反对票...
-
我认为迟早会涉及到代码。至少我会这样做。考虑需要什么,编写算法,编写匹配代码,如果车轮在某处掉下来,请在此处提出具体问题。
-
听起来好像有人误会了。 C没有连接,内部外部或其他。但是在 C 中,您可以调用数据库。所以也许他们的意思是问'你如何从 C 中对这个 RDBMS 进行左外连接'
-
@Karl:SQL 数据库是用某种编程语言编写的,在很多情况下可能是 C 或 C++。问题似乎是关于如何在 C 中实现这种类型的集合操作。
-
有一些算法可以找到公共子集(也就是 SQL 内连接),你可以从那里开始
标签: sql c data-structures