在access中怎麼寫sql查詢語句,select查詢出

時間 2021-07-13 09:11:51

1樓:匿名使用者

由於sql語言處理問題的方式是面向記錄"集合"的。解決排名這類問題對於sql來說確實頭疼,分組排名就更不用說了! 為了解決排名問題大型資料庫系統為使用者提供了rank、rownumber等函式,但是access不支援排名、開窗等這類函式,一般建議用程式設計方式解決,例如vba等。

這個問題確實不好回答。看到樓主就同一問題已經提問幾次了,今天嘗試用sql解決如下,供參考

首先假設資料結構如下:

students(sid,name,class)

scores(sid,score)

學生表與分數表基於sid建立一對多參照完整性

檢索出所有班級與每個學生的學號、姓名、分數按班級、得分排序

select a.class,b.sid,a.name,b.score from

students a,scores b where a.sid=b.sid

order by a.class,b.score desc;

檢索出每個班級前三名的學生學號、姓名和得分,按班級升序、得分降序排名

實現sql**

select a.class,a.sid,a.name,a.score from

(select a.class,a.name,b.

sid,b.score from students a,scores b where a.sid=b.

sid)a where a.score in(

select top 3 b.score from (select distinct class,score from scores)b

where b.class=a.class  order by b.score desc

) order by a.class,a.score desc;

執行結果

從上述**來看實現這樣的效果已經很麻煩,至於學生班名次,access只能藉助程式設計手段了。

2樓:揭戈雅

access查詢幫實現

access中有2個表,想找出2個表不一樣的資料,sql查詢怎麼寫?

3樓:飛揚跋扈

select * from x1 where id not in(select a.id from x1 a left join x2 b on a.ph = b.ph)

解釋下,先查出所有項都一樣的,x1表的id然後id不再這裡的就是不同的嘍

4樓:

先要確定1個或者幾個索引欄位,如果是多個欄位的話先連線起來

select * from 表1 where 表1.欄位1 & 表1.欄位2 not in (select 欄位1&欄位2 from 表2)

5樓:匿名使用者

1、select * from t2 where id not in (select id from t1)

2、select * from t2 where not exists(select * from t1 where t1.id=t2.id)

3、select t2.* from t2 left join t1 on t2.id=t1.id where t1.id is null

三種方法都得不到所想要的不同內容的結果(vb程式設計,語法正確,結果為空),崩潰了。

我有表1=standard_data1 ,表2=standard_data2,兩個表裡面只有1列資料為msisdn,下面sql語句沒法找到不同的內容。

select * from standard_data1 where standard_data1.msisdn not in(select standard_data2.msisdn from standard_data2)

select * from standard_data1 where not exists(select * from standard_data2 where standard_data1.msisdn=standard_data2.msisdn)

更新:distinct是關鍵,在select後面加上這個就成功了。另外,最快的查詢方法是下面這2條,之所以是2條因為要找兩次才能找全互相不同的資料:

select distinct standard_data1.* from standard_data1 left join standard_data2 on standard_data1.msisdn=standard_data2.

msisdn where standard_data2.msisdn is null

select distinct standard_data2.* from standard_data2 left join standard_data1 on standard_data2.msisdn=standard_data1.

msisdn where standard_data1.msisdn is null

找相同內容的語句就很容易就出正確的結果了,如下:

select distinct standard_data1.* from standard_data1 inner join standard_data2 on standard_data1.msisdn=standard_data2.

msisdn

6樓:友冬卉

用vlookup函式很快就能找出來。

7樓:匿名使用者

怎麼會呢

select * from 表1 where 表1比較欄位 not in (select 表2比較欄位 from 表2)

8樓:匿名使用者

select * from 1,2 where 1.name<>2.name

求高手解決access中sql中distinct用法

select distinct 欄位名 from 表名 用group by 也可以達到這個效果。access中distinct的用法問題 sql語句裡使用distinct謂詞,指對有重複的記錄行只取唯一的一條記錄 它針對的是所有的輸出欄位且這些欄位值的組合必須是唯一 該謂詞必須放在輸出欄位列表的前面...

在access裡如何執行sql語句

慶有 access sql查詢語句是相容的,有兩種方式可以使用sql語句 方式一 在 查詢 的試圖裡,可以使用access的嚮導模式,也可以直接使用sql語言模式,如下圖 開啟任何一個查詢,在標籤處選擇sql檢視,就會變成以下sql介面了 access還有一種方式,就是在其自帶的vb裡面,但是不能直...

access2019中如何執行sql執行sql語句

1 開啟access資料庫,找到右邊的空資料,單擊彈出對話方塊,讓你選擇資料庫儲存的路徑和名稱,大家根據自己的實際情況儲存吧,我這裡使用預設的。2 建立資料庫完成後,會生成一個小視窗,在右側的白色區域找到使用設計器建立表,因為做演示。3 建了一個簡單的學生表,完後之後ctrl s儲存,彈出對話方塊,...