1樓:阿冬
還要注意是在哪一種資料庫管理系統中,有些就不支援minus,不過not exists應該都支援。
2樓:一支紅纓槍
select name from test1 a
where not exists (select * from test2 b where b.name<>'admin' and b.name = a.name)
sql語句not in如何優化最好
3樓:
把*換成具體你想要的欄位,不需要的就別寫了,以免掃描全表檢視
如果**入庫單_主表比較大,那需要給此表建個索引,索引列就是單據型別
4樓:永遠左手
not exists 或者 minus
5樓:溉藥袉阜
使用not exists替換, 一般情況下not exists的效能比not in高出很多
sql 語句 in的優化。
6樓:匿名使用者
假設原來的句子是
select * from t1 where t1.f1 in (select t2.f2 from t2 where t2.f2=***)
和你的很類似
你用子查詢 很慢
我們現在修改為:
select t1.* from t1 ,t2 where t1.f1 = t2.f2 and t2.f2=***x
這裡使用了關聯查詢代替了子查詢大大提高效率。
其次你可以考慮在表t1.f1上加索引,提高查詢速度。
7樓:匿名使用者
嘗試在 in 的這個欄位上建索引
8樓:匿名使用者
這樣試下:
把id放到一張表中,
where id in(select id from 表)
9樓:guoke濤
select * from t1
join t2 on t1.f1=t2.f2
where t2.f2=***
sql急求工齡計算語句
select empid,empname,datediff dd,工齡字段,getdate 365 as 工齡 from tablename這是sql的寫法,測試了很久,這個已經是比較精確的了。select e no 員工編號,d name 部門名稱,e name 員工姓名,e salary 薪水,...
sql語句的問題?求高人解答
create table t account int,id1 char 1 id2 char 1 insert into t select 1,a union allselect 1,b union allselect 1,c union allselect 2,d union allselect ...
求一條刪除sql語句
這個方法不錯,觸發器。就是當你刪除student表的資料的時候讓系統自動執行相應的sql語句。我用sqlserver的方式幫你寫個 其實其他資料庫也一樣,差不多 create trigger trg delete on student for delete as 在這裡就把score表的中資料刪除掉...