关于外连接"(+)"的用法 假设a,b两个表都有id字段在where里 如果 a.id=+ b.id ,那么结果就是将b.id都列出来,即使a.id里没有和b.id对应的也把b.id的列出来反过来 就是把a.id的内容全列出来了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 简单的说 列名后面跟了个(+) , 表示 这一列如果没有相应的数据就是NULL, 如果没有(+) 那么如果没有相应的数据,整条记录都不会被选择出来 tb1 tb2---------- -------id text id text1 'a' 3 'cc'2 'b' 4 'dd'3 'c' 5 'ee'4 'd' 6 'ff'5 'e' 7 'gg'建两张如上的表,自己做一下各内、外连接的实验。观察实验结果。你就会理解了。如果做完实验,还是不懂再问。 select * from a,b where a.col1=b.col1(+)a表中的所有数据都显示出来,b表中如果符合a.col1=b.col1的数据,则对应上并显示b的数据否则,b表列数据显示null 谢谢了!我明白了,但还有问题:像楼上"ineedtostudy(amei)"所说的 "a.id=+ b.id" 也可以吗?我一般看到的都是在字段的后面加"(+)" 如 t1.column_a = t2.column_b(+) 或 t1.column_a(+) = t2.column_b具体在书写上有什么格式吗? a.id=+ b.id这个应该是笔误吧 对 "a.id=+ b.id"是写错了!我刚试了一下,发现以下都为非法:t1.c_a=(+)t2.c_at1.c_a(+)=t2.c_a(+)t1.c_a=t2.c_a+没错吧 以下怎么会对啊??t1.c_a=(+)t2.c_a错:(+)要放在列名后t1.c_a(+)=t2.c_a(+)错:不存在左右链接t1.c_a=t2.c_a+错:+是加号,明显不行 to doulikeme(来去无踪) ( ) 第二条: 应该是存在左右连接的吧,第二条好像是对的 t1.c_a(+)=t2.c_a(+)的写法肯定是错误的。但如何写可能是左连接,又可能是右连接的语句呢?并不确定是左边多还是右边多。 跪求一下一条sql脚本 SQL Server与Oracle数据库在安全性上的异同 使用SQL语句创建登录的代码? 如何把ORACLE中SELECT出来的结果保存为EXCEL文件或者DBF文件 Oralce 中的表空间的三个问题。 哪里有oracle 9或8下载. 为什么ora9i 的long raw类型不能保存大于200k的内容,而ora817却可以? 这样的sql要怎么写? ##《简单问题》插入日期时出错,为什么??? 一上午都没有结果,关于导入问题 目录服务位于何处? 请教简单的问题!
---------- -------
id text id text1 'a' 3 'cc'
2 'b' 4 'dd'
3 'c' 5 'ee'
4 'd' 6 'ff'
5 'e' 7 'gg'建两张如上的表,自己做一下各内、外连接的实验。观察实验结果。你就会理解了。
如果做完实验,还是不懂再问。
否则,b表列数据显示null
像楼上"ineedtostudy(amei)"所说的 "a.id=+ b.id" 也可以吗?我一般看到的都是在字段的后面加"(+)" 如 t1.column_a = t2.column_b(+) 或 t1.column_a(+) = t2.column_b具体在书写上有什么格式吗?
我刚试了一下,
发现以下都为非法:
t1.c_a=(+)t2.c_a
t1.c_a(+)=t2.c_a(+)
t1.c_a=t2.c_a+
没错吧
t1.c_a=(+)t2.c_a
错:(+)要放在列名后t1.c_a(+)=t2.c_a(+)
错:不存在左右链接t1.c_a=t2.c_a+
错:+是加号,明显不行
第二条: 应该是存在左右连接的吧,第二条好像是对的
但如何写可能是左连接,又可能是右连接的语句呢?
并不确定是左边多还是右边多。