關於連線查詢的一些看法

2021-04-08 19:47:42 字數 1577 閱讀 3354

正確的

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 成長模型 推薦書目 ...