SQL語句現有主從表兩張 TB A和TB B 其中TB A為部門表

時間 2022-12-01 03:55:51

1樓:

delete from tb_b

where not exists(select * from tb_a where tb_a.tb_a001=tb_b002)

2樓:匿名使用者

delete from tb_b where tb_b002 not in(select tb_a001 from tb_a)

3樓:

delect from tb_b

where tb_b001 in (

slelect tb_b001 from tb_b where tb_b002 not in (select tb_a001 from tb_a)) a

sql中有主外來鍵的兩表到底那這是主表

4樓:匿名使用者

哪個是主表很重要麼?如果兩個表都有a_id 和 b_id,並且都是主鍵,那麼就是互為主表。

以a為例,如果a.a_id是主鍵,那麼就唯一不重複,a.b_id就是外來鍵,關聯b表(前提:b.b_id是主鍵)

互為外來鍵的情況是很少的,因為這種情況幾乎就是一一對應關係,正規化上屬於不合理結構

5樓:老師小喬

假設:表a(aid int primary key not null),b(bid int primary key not null,aid int foreign key references a(aid)),此時a表就是主表,b是從表,b表中的aid就是外來鍵,參照的a的主鍵。

6樓:解憂解憂雜貨鋪

如果是這樣的話 那麼最好是再拆出乙個關係表 裡面只有 a_id 和 b_id 都是主鍵都是外來鍵

乙個資料庫中的兩個表有同樣的主鍵 10

主從表 同步 sql

7樓:匿名使用者

你可以建個庫級觸發器,只要是對那兩表的操作,查詢出語句更新到從庫。

具體的觸發語句,你自己研糾吧。對你有好處。

sql語句解釋 10

8樓:

汗。。。這個是什麼資料庫啊?沒見過這樣寫的sql語句,語句應該出錯的,第二個select跟第乙個select貌似沒關係

select b.goodstypeid,b.goodsname,a.goodstypename,"

+ "b.goodsintroduce,b.goodsprice,b.goodsisnew from tb_goodstype"

+ " as a inner join tb_goodsinfo as b on a.goodstypeid=b.goodstypeid";

意思是把tb_goodstype和tb_goodsinfo 分別命名為a和b,找出當a表的goodstypeid 等於b表的goodstypeid時的b.goodstypeid,b.goodsname,a.

goodstypename,b.goodsintroduce,b.goodsprice,b.

goodsisnew 字段。

前面那句我認為是錯誤的,在這裡語法上都跑不通。。。

9樓:

select

--以上兩段是要查詢出的列

b.goodstypeid,b.goodsname,a.

goodstypename,b.goodsintroduce,b.goodsprice,b.

goodsisnew

表goodstype 命名為 a

from tb_goodstype as a兩表聯結查詢

inner join

表 goodsinfo 命名為 b

tb_goodsinfo as b

a表的goodstypeid等於b表的goodstypeid,這是兩表的關係

on a.goodstypeid=b.goodstypeid";

至於第一句 select * from tbgoodstype 個人認為是你寫錯了

10樓:別說我能懂

你的**有誤吧?

這裡應該引用了乙個臨時表。。

試著在第二個select前面加個'(' 後面應該還有個 ')' )後面再加個臨時表的名字就好~~

11樓:匿名使用者

這是聯合sql嗎? 不太懂誒

sql比對兩個表中的差異資料比較的sql語句

12樓:

select

base.name, base.year

, a.成績 as [a表成績]

, b.成績 as [b表成績]

, case

when a.成績 is null then 'a表中不存在'

when b.成績 is null then 'b表中不存在'

when a.成績=b.成績 then '成功'

else '差異' end as 比較結果from (

select name, year from tb_aunion

select name, year from tb_b) as base

left join tb_a as a on a.name=base.name and a.year=base.year

left join tb_b as b on b.name=base.name and b.year=base.year

13樓:小狂中

select a.*,b.*, iif(b.name is null, '表b中不存在','成功')

from a left join b on a.name=b.name and a.year=b.year

union

select a.*,b.*, iif(a.name is null, '表a中不存在','成功')

from a right join b on a.name=b.name and a.year=b.year

以上表名及列名換成你自己的

14樓:匿名使用者

樓主,你好!跟你確認下,結果表的資料跟表a和表b的資料不一致,是不是弄反了?

sql資料庫:如何將表a中的某同個時間,表a-1中兩個欄位的內容互換?

sql語句,有的全要,sql語句大全

建議你好好看一下系統自帶的幫助,裡面寫的都很詳細。建立資料庫 create database aaa 刪除資料庫 drop database aaa 建立表 create table user username nvarchar 50 password nvarchar 50 money money...

SQL查詢語句,SQL查詢語句

select from a where 列1 1 and where 列2 4 select from a表 where 列2 4 怎麼用sql語句查詢?一 用連線查詢 select from student inner join score on cno 2 and grade 90二 用子查詢 ...

sql語句的問題,SQL語句的問題

額 為什麼不一樣呢?其實是你錯了 他們是一樣的 即recordcount記錄總數是一樣多的 但是 為什麼乙個116225 乙個是1呢?那麼,我建議你這樣做一下就知道怎麼回事了?set rs db.openrecordset sqlstr 這之後執行這麼一句話 rs.movelast 然後看一下 ms...

sql語句取值在,SQL語句取值在1 100怎麼寫

您是要在1 100中取隨機數還是要規定個範圍啊 取隨機數方法 select round dbms random.value 1,100 from dual 規定1 100範圍 select id from 表名 where id between 1 and 100 order by id 首先 把資...

執行sql語句錯誤,執行SQL語句錯誤

if not exists select 0 from 表名1 where 列名1 值 delete 表名2 where 列名2 值上面的語句是如果在 表名1 裡 列名1 的 值 不存在,則刪除,反之不進行操作 exists函式是判斷該查詢是否存在結果 這明顯是乙個錯誤的sql 大概意思我看明白你的...