正確的
select a.name,a.stuno,sum(b.score) from student a , score b where a.stuno=b.stuno(+) and b.stuno(+)=2 group by a.name,a.stuno;
select a.name,a.stuno,sum(b.score) from student a left outer join score b on a.stuno=b.stuno and b.stuno=2 group by a.name,a.stuno;
錯誤的select a.name,a.stuno,sum(b.score) from student a left outer join score b on a.stuno=b.stuno where b.stuno=2 group by a.name,a.stuno;
**********=
結論:where 會產生篩選,on只是連線條件.
select a.a,b.b
from a,b
where a.a=b.a(+)
and b.c(+)>10
你的寫發是對的, 左連線失效不同於where a.a=b.a
具體如下:
sql> select * from a;
a----------12
34
sql> select * from b;
a b c
---------- ---------- ----------
1 4 10
2 5 11
5 6 12
6 7 13
sql>select a.a,b.a,b.b,b.c
from a,b
where a.a=b.a;
a a b c
---------- ---------- ---------- ----------
1 1 4 10
2 2 5 11
sql>select a.a,b.a,b.b,b.c
from a,b
where a.a=b.a(+);
a a b c
---------- ---------- ---------- ----------
1 1 4 10
2 2 5 11
3 4
sql>select a.a,b.a,b.b,b.c
from a,b
where a.a=b.a(+) and b.c>10;
a a b c
---------- ---------- ---------- ----------
2 2 5 11
sql>select a.a,b.a,b.b,b.c
from a,b
where a.a=b.a(+) and b.c(+)>10; /*這種方法有必要嗎?*/
a a b c
---------- ---------- ---------- ----------
1 2 2 5 113 4
意思不一樣
有(+)的是連線條件
不帶的是對連線結果過濾。
關於連線查詢的一些看法
正確的 select a.name,a.stuno,sum b.score from student a score b where a.stuno b.stuno and b.stuno 2 group by a.name,a.stuno select a.name,a.stuno,sum b.s...
C 關於陣列的一些看法
本來想等我完全學完c 再好好一些篇心得總結,還有歸納好c 的一些常用知識點。但是今天看看了陣列,雖然學習c語言的時候,陣列也學得差不多,但是今天學到了一些新的知識點,覺得非常有用,就忍不住寫下來了。其次對元素的賦值。可以是 int a 3 初始化便賦值 也可以 int a 3 a 0 1 a 1 2...
關於搜尋,我的一些看法
目前的搜尋大體分通用搜尋和垂直搜尋。兩者差別在於資訊 通用的範圍很廣,所以資料量一般都是海量。垂直的資訊 比較單一,所以資料量相對而言就小。技術角度而言,通用主要關注資料量,偏重架構設計,而垂直著重搜尋的ui。如何設計好一個架構,我覺得自己還在摸索,所以不多說,感興趣的可以看看google的 垂直搜...
關於Jpa和Mybatis的一些看法
現在網路上充斥著jpa和mybatis的一些對比。其實狹義上來說是hibernate和mybatis之間的比較。例如 為什麼感覺國內比較流行的 mybatis 在國外好像沒人用的樣子?下面是一些截圖 既然 jpa 用起來省心,沒必要硬跟某些大廠的步伐,一步兩步,似魔鬼的步伐!就像 技術十年裡說的 如...
關於軟體工程的一些看法
標題黨了,其實實際的內容是 自己的專案經驗總結和反思 今天在高階軟體工程課上,做了一次關於專案經驗的展示。展示的主題圍繞自己參與的移動網際網路團隊開發經驗展開。藉此機會,我整理了一下思路,於是有了以下的 slides。沒時間碼字,就先把 slides 直接貼上來啦 recerd 成長模型 推薦書目 ...