在SQL中如何进行外连接(如:右外连接)下面的语句为何在BCB中出错

bobo-nt 2003-04-05 11:47:43
select a.ss,b.ee
from a,b
where a.gongn=b.功能(*)
...全文
88 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bobo-nt 2003-04-09
没有忽略掉啊
结果为:
1 t
2 NULL
3 NULL
4 y
回复
efany 2003-04-07
楼上的用法不行的
如果存在a表中有b表中没有的记录会忽略掉的
回复
bobo-nt 2003-04-06
具体情况:
CBC6 ADOQuery控件 ACCESS数据库

a表 b表
=========== ============
ss ee ss ww
=========== ============
1 r 1 t
2 t 4 y
3 y
4 u

ADOQuery1->SQL语句:
select a.ss,b.ww
from a,b
where a.ss=b.ss(+)
错误提示:多余的)在查询表达式'a.ss=b.ss(+)'中
为何提示)多余???
回复
Ton2000 2003-04-06
Which database do you use?

In oracle, you must use following ...
select a.ss,b.ee
from a,b
where a.gongn=b.功能(+)

In SQL Server, you have to use following ...
select a.ss,b.ee
from a,b
where a.gongn=b.功能(*)
回复
efany 2003-04-06
select a.ss,b.ee
from a,b
where a.gongn=b.功能(*)

这种语法是有错误的
也许孤陋寡闻了(*)--是什么用法?
回复
efany 2003-04-06
ADOQuery1->Close();

ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("select a.ss,b.ee");
ADOQuery1->SQL->Add("from a,b");
ADOQuery1->SQL->Add("where a.gongn=b.gongn(+)");

ADOQuery1->Open();

不会报错!
回复
lykey 2003-04-06
好像不难,不知我是否明白你的意思。
select a.ss,b.ww from a left join b on a.ss=b.ss
这就OK了。

结果为:
1 t
2 NULL
3 NULL
4 y
回复
bobo-nt 2003-04-06
等待中...
回复
bobo-nt 2003-04-06
不行啊!!!
用(+)会提示‘)’多余
用*或(*)会提示语法错误
ADOQurey中如何写右连接的SQL语句
回复
bobo-nt 2003-04-05
ok
回复
李志林HZ 2003-04-05
xx*=yy;(left)
xx=*yy;(right)
回复
chifengwatch 2003-04-05
select employees.name,orders.product from employees right join orders on employees.id = orders.id
在SQL SERVER 中等价于:
select employees.name,orders.product from employees,orders where employees.id =* orders.id
回复
efany 2003-04-05
select a.colum1,b.colum2
from a,b
where a.colum3 = b.colum4(+)
这样吧~
这个是一个外连接的例子
具体报什么错?

回复
yy2001 2003-04-05
你这也不是外连接啊?
回复
sharkxie 2003-04-05
你的(*)是什么意思?
回复
相关推荐
发帖
C++ Builder
创建于2007-08-02

1.3w+

社区成员

C++ Builder相关内容讨论区
申请成为版主
帖子事件
创建了帖子
2003-04-05 11:47
社区公告
暂无公告