oracle中關聯查詢條件的問題

2022-02-22 05:09:11 字數 2791 閱讀 2077

1樓:雙鵲會

這是左右邊連線,很好判斷,你看(+)在那邊,那邊就補空,如:a.emp_id (+)=b.

dept_id那麼b表的資料就全部被查詢出來,a表沒有這條資料就補空,講多了你可能有點不明白 ,你記住一條就知道了,那邊有(+),那邊就補空!

oracle 中關於表的關聯查詢問題 應該屬於自連查詢

2樓:匿名使用者

你想要什麼結果才是最關鍵的,按你現在的說法:查出沒有領導的員工,顯然select * from emp where mgr is null;

已經能夠滿足要求。

你如果要自關聯

那麼就這麼寫:

select a.* from emp a left outer join emp b on a.mgr = b.id

where ...

剩下的條件你自己補充

3樓:

-- 自連線查詢所有員工及領導

select a.empno, a.ename, b.enamefrom emp a, emp b

where a.mgr = b.empno(+);

oracle多表關聯查詢問題

4樓:我tm不管

select a.a_id,b.b_name,c.

c_name,d.d_name,e.e_name,a.

a_min,a.a_desc from tablea a,tableb b,tablec c,tabled d,tablee e

where a.b_id=b.b_id(+) and a.

c_id=c.c_id(+) and a.d_id=d.

d_id(+) and a.e_id=e.e_id(+)

正確答案

5樓:在途中尋找

select a_id,b.b_name,c.c_name,d.d_name,e.e_name,a_min ,a_desc

from a

inner join b on a.b_id= b.b_idinner join c on a.

c_id = c.c_idinner join d on a.d_id = d.

d_idinner join e on a.e_id = e.e_id即可

oracle中子查詢查詢結果作為主表where條件的問題 5

6樓:韓福潔

子查詢返回值的資料型別和where條件欄位一致嗎?

7樓:雲端夢秀

首先你應該看的是你連起來查詢的時候有沒有報錯,看看你的子查詢是否返回的是多行

oracle中,如果a表跟b表關聯查詢的問題

8樓:匿名使用者

可以的,利用oracle的分析函式row_number() over (partition by col1 order by col2) 來實現。舉例如下:

1、資料準備:

--建立a表

create table qh_a (

filed1 varchar2(3),

filed2 char(1)

--建立b表

create table qh_b (

filed1 char(1),

filed2 varchar(3)

--初始化a表與b表的資料。

insert into qh_a values('001','x');

insert into qh_a values('002','y');

insert into qh_b values('x','aaa');

insert into qh_b values('x','bbb');

insert into qh_b values('y','ccc');

insert into qh_b values('y','ddd');

2、查詢語句

select case

when row_number() over(partition by a.filed2 order by b.filed2) = 1 then  a.

filed1 else '' end filed1,

a.filed2,

b.filed2

from qh_a a, qh_b b

where a.filed2 = b.filed1

3、結果如下圖所示:

9樓:狂熱

假設a表的量子欄位是column1,column2,b表的兩個欄位也是conlumn1,conlumn2。sql如下:

select c3,c1,c2 from (select b.column1 c1,b.column2 c2,a.

column1 c3 from b left join a on b.column1=a.column2 )

10樓:匿名使用者

單獨的sql語句無法做到,可以考慮用儲存過程,將結果儲存在臨時表裡,再用查詢語句獲得這樣的效果。

如果b表上加一列標誌位,標註該行是否顯示001的話,倒是可以實現,但是問題又來了,針對某個x,這個標誌位應該是隻有一行設為顯示,其它行設為不顯示,那麼顯示或者不顯示區分的標準是什麼呢?這又會增加插入資料時的複雜度。這是題外話了。

11樓:匿名使用者

好像不能唉。如果能也有店複雜唉。建議用程式處理或儲存過程加臨時表處理

hibernate的關聯查詢怎麼實現

沒問題,用你的這個語句加上query.list 它返回的還是一個list,而list裡的每個條目都是一個map物件,你用其get keyname 就能獲取到值,這裡的keyname仍是原來表的屬性名。spring mvc hibernate多表查詢怎麼實現 這寫法是 sql。activity 和 v...

SQL一對多表關聯查詢,sql多對多關係的兩表如何聯合查詢出所有的結果?

補充 這個,感覺樓主的語句不用寫成這樣詭異的,你可以試試下面的語句符不符合你的要求 select from table1 a,table 2 b where a.name b.name 這樣不就行了麼?可以給多一點資訊麼?具體你想返回什麼呢?是這樣麼?table1符合的記錄欄位 table1所對應的...

EXCEL中,如何查詢特定區域內滿足條件的值,出現的位置

你先要說明白 定位區間必須是1和 1之間,還是,1和1,1和 1,1和1之間也可以,才能內回答.大致的方 容法是 1,用match定位第一個符合條件的單元格 2 用offset定位這個單元格之下的區域,用match定位這個區域出現的第一個符合條件的單元格 3 有了計算區域的第 一 最後一個單元格位置...