用oracle如何查詢出表中的欄位內容包含另表中的某個欄位的值呢

時間 2021-10-14 22:24:14

1樓:匿名使用者

描述再詳細些,這兩個表的欄位是否以知,確定,如果能確定是哪連個欄位可用如下sql

select *

from table1

where exists (select 1from table2

where table1.columa like '%' || table2.columb || '%')

如果不確定想要所有匹配,那就寫儲存過程吧

2樓:匿名使用者

你所說的包含是欄位裡面含有,比如 tab1 的 val 是 11234 tab2 的val 是23 tab1.val包含 tab2.val

還是 tab1.val =tab2.val ??

3樓:氪出海

instr(a表.欄位1,b表.欄位2)>0

加這個條件就可以判斷a表的欄位1 是否包含 b表的欄位2 了!

4樓:愛梔竹的人

select * from table1 where exists(select * from table2 where table1.fielda like

'%' || table2.fieldb || '%' )

5樓:匿名使用者

select table1.name|| table2.namefrom table1

,table2

where table1.id = table2.id

6樓:匿名使用者

select a.* from table1 a,table 2 b where a.a like '%'||b.b||'%'

oracle 怎麼查詢其他使用者表中是否包含某個欄位

7樓:匿名使用者

其實還是 司馬鑄劍 說的那張表,只不過要把 user_tab_columns 改為all_tab_columns(如果沒有這張表,我很少用all的表,經常用dba系列表,所以有沒有all的這張表我不確定,但是dba_tab_columns一定存在)這樣就可以找到該使用者能檢視的所有的表了。也就能知道包含該欄位的所有的表的表名了。

如果只要其他使用者的不要自己使用者的,那麼就和all_tables兩張表聯合起來查詢,那麼就應該沒問題了。

類似於:select a.table_name from all_tab_columns a,all_tables b where a.

column_name='dname' and a.table_name=b.table_name and b.

owner !=***

不一定完全對,僅僅是一個思路,畢竟這種試圖很久沒查了,可能有些出入。

8樓:智者總要千慮

比如查,含有dname這個欄位的表

1select * from  user_tab_columns where column_name='dname'

其中table_name就是表名,dname那裡要用英文半形大寫

9樓:

all_ 開頭的檢視可以查到你擁有許可權的所有物件

比如all_tables , all_objects就能看到,裡面有owner欄位 , 對應的user_tables是隻顯示本使用者自己的物件

請問如何查詢一個oracle資料庫中,是否有某個表的某一列包含某個值

10樓:暴耘宋鴻軒

1、看使用者的表的資訊如同marliuang所說,不再贅述。當然了你用a登入後也可以用命令(selecttnamefromtab;)檢視專。2、顯示亂碼是因為oracle中的回屬收站(recyclebin)的緣故,為了防止使用者誤刪除,oracle引入了**站這一概念,你可以使用命令:

purgerecyclebin;(使用者a登入)或者purgedbarecyclebin;(dba使用者登入)這樣就看不到這個表了。當然了你在刪除表的時候直接寫「droptabletablenamepurge;」也是一樣的。

11樓:

select table_name from dba_tab_columns where s.column_name='aaaaabbbbcccc';

如果上面語句執行沒有結果或者失敗。則執行

select table_name from user_tab_columns where s.column_name='aaaaabbbbcccc';

另外注意

內aaaaabbbbcccc這裡一定要大寫。容

12樓:匿名使用者

oracle根據某個值查詢其所在的表、欄位

13樓:zhou不想起名字

網頁連結  你會回來感謝我的

oracle sql語句查詢一個欄位在另一表欄位中有兩條或以上 的資料

oracle中已經知道一個具體值,如何根據該值查詢出含有該值的表名和列名? 200

14樓:司馬刀劍

如何查詢oracle一個資料庫中包含有某個特定值的所有表及欄位名-我這裡說的欄位名跟列 是同一個意思

select column_name,

table_name,data_type ,data_length,data_precision,data_scale from user_tab_columns where column_name='欄位名';

--根據欄位名查出相關的表名出來。記錄下來--然後對查出來的表進行查詢,找到含這內容欄位的表select * from 表名 where 欄位名='xiaoming'

15樓:匿名使用者

好久沒用oracles資料庫了。我記得裡面有個查詢所有表名的,系統表

all_tables 你看看這個表中有沒有欄位的。然後在查詢條件

如果這個表中沒有表的欄位,那就把表名都粘出來。然後where加條件。把有數值的粘出來

16樓:上邪

你這個需求很不好做,就算是做了,也不一定有實際應用意義。因為效能不敢保證。當然還是可以做到的。思路如下。

首先,查詢系統自帶試圖all_tables或者user_tables,如果可以指定使用者名稱更好。

然後,迴圈每一個表的每一個字串欄位,看是不是有包含d3的值 ,如果有記下來表名欄位名,就這樣一直迴圈。

因為資料庫表有可能很多,而且說不定哪個欄位有了d3,還有是不是考慮clob欄位,等等。所以最終不一定是你想要的結果。當然如果你可以指定某幾個表或者表名,欄位名有某些規律的話,會好很多。

謹慎操作

17樓:銅幣投幣擴大

all_tables 你看看這個表中有沒有欄位的。然後在查詢條件

在oracle查詢中怎麼查詢出表中唯一資料

select from test1 where rowid in select rid from select rowid rid,row number over partition by dm order by rowid m from test1 where m 1 用這個查詢test1中dm唯...

oracle中如何查詢資料表中重複的資料

大話殘劍 可以用分組函式統計,例如在表test中查詢id欄位重複的資料,查詢結果中id是重複的資料值,count 是重複的次數。create table test id number,name varchar2 20 insert into test values 1,a insert into t...

oracle中如何查詢資料表中重複的資料

根據感覺重複的欄位分割槽,加上一個row number,如果row number 1,那麼就找到了重複的資料了 select from select t.owner,t.table name,t.cnt,t.create time row number over partition by t.tab...