sybase 下sql查询语句问题

如表A:codename1zhang2wang表B:codenote188怎么样查询才能使得结果为codenamenote1zhang882wangNULL甚至如果B表为... 如表A:code name
1 zhang
2 wang

表B: code note
1 88

怎么样查询才能使得结果为

code name note
1 zhang 88
2 wang NULL

甚至如果B表为空,结果为
code name note
1 zhang NULL
2 wang NULL
是在sybase下,left join 行不通
展开
 我来答
逍遥鼠一世
2008-10-02 · TA获得超过1019个赞
知道小有建树答主
回答量:113
采纳率:100%
帮助的人:51.4万
展开全部
使用外联接。
仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回 FROM 子句中提到的至少一个表或视图的所有行,只要这些行符合任何 WHERE 或 HAVING 搜索条件,数据库管理系统将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。

根据您说的情况,SQL如下:

SELECT A.code, A.name, B.note FROM A LEFT JOIN B ON A.code=B.code;

如果您使用的是Sybase数据库,那么这个SQL应该这样写:

SELECT A.code, A.name, B.note FROM table_a A, table_b B WHERE A.code *= B.code;

注意:用*=代替LEFT JOIN。

如果您使用11.9.2及以上的Sybase版本,还可以这样写:
SELECT A.code, A.name, B.note FROM A LEFT OUTER JOIN B ON A.code = B.code;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式