SQL的查詢語句中有「自連線查詢」怎麼理解?能舉個例子就

時間 2021-09-12 13:30:44

1樓:匿名使用者

假設在【成績表】有【主鍵id】【學生姓名】【課程名稱】【成績】等字段。

現在要查詢 「語文成績》=數學成績」的學生姓名,這時就可以使用自連線查詢:

select 【學生姓名】

from 【成績表】 as a,【成績表】 as bwhere a.【主鍵id】=b.【主鍵id】and a.【成績】>=b.【成績】

and a.【課程名稱】='語文'

and b.【課程名稱】='數學'

自連線是指使用表的別名實現表與其自身連線的查詢方法。

2樓:

自連線查詢,簡單的說就是你在where中的條件都是在同乙個表中的,比如,一張客戶表

id name dept

1 a d1

2 b d2

3 c d1

...當你要找出跟a在同乙個dept的人的名字時,你可以用select t1.* from tb t1, tb t2where t1.

name='a' and t1.dept = t2.dept

大致上就是這個意思啦,用同一張表裡的兩個條件來關聯就是了。。。

sql 自身連線查詢問題

3樓:匿名使用者

select b.姓名,b.班級(這裡b.

後面跟你要查詢的字段) from 學生基本資訊表 a,學生基本資訊表 b where a.姓名='查詢資訊' and a.班級號=b.班級號

4樓:匿名使用者

這是個自聯結 a是用來查詢你要找的人 得出你需要的班級號,因為a指定了姓名或者說是主鍵,就只會有一條資訊(排除重名情況),得出了班級號,再通過班級號去得到所有學生的資訊

5樓:匿名使用者

我在這給你個例子(參照oracle資料庫中scott使用者中emp表),你自己看一下,如果不懂你再問select w.ename||'的上司是'||m.ename from emp m,emp w where m.

empno=w.mgr and w.ename='smith' ;empno是員工編號mgr員工對應上司編號ename員工名稱

6樓:丁丁愛答題

你就站在冠軍的位置上,我去幫你買幾個橘子

j**a中如何處理多條件的sql查詢語句

7樓:baby懷抱

if(null != idnum && !idnum.equals("")){

sql+= " and d_num =:idnum ";

if(null != name && !name.equals("")){

sql += " and name like :name ";

8樓:匿名使用者

你可以用 mybaitis 框架,動態sql.如果是同一張表的話,hibernate,也有方法處理這些,不過,我對hibernate 不熟

9樓:

一般多個條件的時候,處理方式是 select * from table where 1 = 1先寫上這樣乙個條件,這樣你以後的條件就可以直接用 if判斷了,比如現在有a ,b 兩個條件 就可以直接這樣

string sql = "select * from table where 1 = 1";

if( 條件a != null )

if( 條件b != null )

這樣就可以避免多種情況存在的問題

sql連線查詢語句問題,SQL連線查詢語句問題!!!

簡單寫的話,sql語句就是 select top 10 title date from select title date from new union select title date from res union select title date from affiche as tbltit...

SQL語句中連線表中按照一定規則查詢

店a與派駐表b是一對多的關係 即在b中引用a的aid 根據你寫的,提煉出來的主要資訊有 a店的型別 atype 其中有 演示門店 b中有職位 bzhiwei select a.case when b.bid is null and a.atype 演示門店 then 0 when b.bzhiwei...

sql查詢語句的問題,sql語句關於查詢的問題

select d,count from select day 訪問時間 d,ip位址,count from 訪問記錄表 where year 訪問時間 2008 and month 訪問時間 5 group by 1,2 一 如果你的資料庫伺服器獲取日期時間欄位的日數 1 31 不是day,請你修改...