SQL語句跨表查詢

2021-08-04 20:38:29 字數 1137 閱讀 9500

1.使用關鍵字"in"

select *

from bms_dsl_portconsumerbind a

where (consumerid in

(select consumerid

from bms_dsl_consumerinfo b

where (b.name = '空') or

(b.name = '壞')))

2.使用關鍵字"any"

select *

from bms_dsl_portconsumerbind a

where (consumerid = any

(select consumerid

from bms_dsl_consumerinfo b

where (b.name = '空') or

(b.name = '壞')))

使用關鍵字"in"和"any",區別在於any前面需要加"=",子查詢語句是完全一致

3.使用關鍵字"exists" 使用"exists"關鍵在於兩表關聯語句,如:下列例子 a.consumerid = b.consumerid

select *

from bms_dsl_portconsumerbind a

where exists

(select consumerid

from bms_dsl_consumerinfo b

where a.consumerid = b.consumerid and ((b.name = '空') or

(b.name = '壞')))

使用關鍵字"in"和"any" 與使用"exists"的區別,結構上的差別:exists前面是不需要有列名的,並且在子查詢

語句的條件中的必須增加兩表關聯語句

4.不使用任何關鍵字(經過測試odbc中是不可用的),所以可以使用新增關鍵字"any"取代

select *

from bms_dsl_portconsumerbind a

where (consumerid =

(select consumerid

from bms_dsl_consumerinfo b

where (b.name = '空') or

(b.name = '壞')))

Sql 語句查詢表結構

sql2000系統表的應用 1 獲取當前資料庫中的所有使用者表 select name from sysobjects where xtype u and status 0 2 獲取某乙個表的所有字段 select name from syscolumns where id object id 表名...

sql 語句 聯表查詢

1 replace into 用replace into 替代insert into 根據唯一主鍵判斷 無則插入,有則刪除重新插入 覆蓋 不適用自增id做主鍵。因為會刪除id.2.同表 分銷查詢下級每代的人數 內聯查詢 獲取第二代的人 select a.user name,a.reg time,a....

SQL語句 單錶查詢

select from tableselect col1,col2 from tableselect from table where condition 篩選數字屬性列 篩選字串屬性列 通過limit選取部分結果 選取前n行的記錄 select from table where condition...