當前位置:首頁 » 編程語言 » sql關聯查詢

sql關聯查詢

發布時間: 2022-01-10 15:32:08

A. sql 兩個表的數據進行關聯查詢

查詢2個表然後對比唯一的主鍵,對比表名sheet1,sheet2
SELECT * FROM sheet1 LEFT JOIN sheet2 ON sheet1.`列名` = sheet2.`列名`

B. SQL聯合查詢語句

A表欄位stuid,stuname
B表欄位bid,stuid,score,coursename,status

CREATE TABLE A#(
stuid INT,
stuname VARCHAR(10)
);

CREATE TABLE B# (
bid INT,
stuid INT,
score INT,
coursename VARCHAR(10),
status INT,
);

INSERT INTO A#
SELECT 1, '張三' UNION ALL
SELECT 2, '李四' UNION ALL
SELECT 3, '王五' UNION ALL
SELECT 4, '趙六'
;

INSERT INTO B#
SELECT 1, 1, 100, '語文', 0 UNION ALL
SELECT 2, 1, 99, '數學', 1 UNION ALL
SELECT 3, 2, 88, '語文', 0 UNION ALL
SELECT 4, 2, 88, '數學', 1 UNION ALL
SELECT 5, 3, 77, '語文', 0 UNION ALL
SELECT 6, 3, 77, '數學', 0 UNION ALL
SELECT 5, 4, 66, '語文', 1 UNION ALL
SELECT 6, 4, 66, '數學', 1
;

SELECT
A#.stuid,
B#.score,
B#.coursename,
B#.status
FROM
A# JOIN B#
ON (A#.stuid = B#.stuid AND B#.status = 1)
WHERE
NOT EXISTS (
SELECT
1
FROM
B# sub
WHERE
A#.stuid = sub.stuid
AND sub.status = 1
AND sub.score > B#.score
)

stuid score coursename status
----------- ----------- ---------- -----------
1 99 數學 1
2 88 數學 1
4 66 語文 1
4 66 數學 1

(4 行受影響)

註:
stuid = 3的,2門課程的 status 都為0,因此無數據顯示。
stuid = 4 的,2門課程都等於 max(score), 因此顯示出2行數據。

C. 關聯 SQL 查詢語句怎麼寫

select 名字 from a,b
where a.id = b.aid
and b.名字 = "bob"

你說的太亂了 給你個類似形式,自己補充吧
a.id = b.aid就是把a,b兩個表相同的列關聯起來,然後再找b表中名字為bob的 也就是and後面的條件

D. sql多表關聯查詢能用哪幾種方法寫

樓主使用的是子查詢,子查詢局限性較大,只能顯示第一張表的欄位。你可以這樣寫
SELECT * FROM biz.coursecomment a,so.sodetail b,so.somaster c

where a.sono=b.sono and b.sono=c.sono and c.TeacherNO='100199' and b.IsStudentComment='1' AND IsTeacherComment='1' and a.ToCustomerNO='100199'

這樣寫就避免了各種的子查詢。當然,你還可以寫成join的形式。join的層次更分明,代碼如下:
SELECT * FROM biz.coursecomment a
join so.sodetail b
on a.sono=b.sono
join so.somaster c
on c.sono=b.sono
where c.TeacherNO='100199' and b.IsStudentComment='1' AND IsTeacherComment='1' and a.ToCustomerNO='100199'

如果不懂,可以追問

E. sql 關聯查詢!

先建立關系,TI和T2的ID連起來,然後建立查詢,select T1.ID, T1.NAME,T2.JYS from T1, T2

F. sql同表聯合查詢

createTABLEtest(idint,atimedatetime,aaaint,btimedatetime,bbbint)
INSERTINTOdbo.test
(id,
atime,
aaa,
btime,
bbb
)

select
1,'2013-07-01',2,'2013-07-02',3
UNIONALL
SELECT
2,'2013-07-02',5,'2013-07-03',7
UNIONALL
SELECT
3,'2013-07-01',4,'2013-07-02',5
UNIONALL
SELECT
4,'2013-07-02',3,'2013-07-03',6

--SELECT*FROMtest
SELECTa.[time],SUM(aaa),SUM(bbb)
FROM
(
SELECTatimeAS[time],aaa,0ASbbb
FROMdbo.test
UNIONALL
SELECTbtimeAS[time],0ASaaa,bbb
FROMdbo.test
)a
GROUPBYa.[time]
-----結果
2013-07-0100:00:00.000 6 0
2013-07-0200:00:00.000 8 8
2013-07-0300:00:00.000 0 13

1、你的7.2號的bbb結果估計寫錯了,是8

2、因不知道你具體數據類型和具體庫,我使用的是datetime類型,類型如果有誤,你可以自己修改

G. 如何sql三張表關聯查詢

三張表關聯查詢
使用場景:A\B\C 三張表,現在要查詢並展示A表和C表中的某些欄位,但是A、C兩表沒有相同欄位,無法關聯,此時有B表恰好有兩個欄位,一個欄位和A表一個欄位相同,一個欄位和C表一個欄位相同,我們稱B表為「中間表」,因此通過B表把A、C表關聯起來
SELECT A1,A2,C1,C2 --展示A表中的A1\A2欄位和C表中的C1\C2
FROM B --中間表
INNER JOIN A ON A.A1 = B.B1 --A表中的與B表中相同的欄位
INNER JOIN C ON C.C1 = B.B1 --C表中的與B表中相同的欄位
where xxxxx ---條件你自己按照需求來加,沒有條件就不寫where了

H. sql多表關聯查詢

用SELECT對多表關聯進行查詢。

I. 如何使用SQL兩個表關聯查詢,如下圖

SELECTa.*,isnull(b.N,'0')N
FROM[tableA]aleftjointableBb
ona.id=b.id
union
SELECTa.id,a.name,isnull(b.M,'0')M,a.N
FROM[tableB]aleftjointableAb
ona.id=b.id

J. SQL兩個資料庫關聯查詢

select * from [資料庫1].dbo.[表1] where 欄位='?' union
select * from [資料庫2].dbo.[表2] where 欄位='?' 表示把查詢的結果合並顯示,上面那個有些問題,就試下這個吧。這個是要求兩個表的結構式一樣的 或者是要查詢的欄位結構是一樣的就可以

熱點內容
聚合腳本平台 發布:2024-09-20 17:51:55 瀏覽:180
訪問攔截怎麼解除安卓 發布:2024-09-20 17:28:48 瀏覽:275
蘿卜干存儲 發布:2024-09-20 17:21:37 瀏覽:715
蘋果手機如何遷移軟體到安卓手機 發布:2024-09-20 17:21:34 瀏覽:692
查看伺服器ip限制 發布:2024-09-20 16:56:27 瀏覽:389
p搜系統只緩存1頁為什麼 發布:2024-09-20 16:48:51 瀏覽:839
上網的賬號和密碼是什麼東西 發布:2024-09-20 16:31:31 瀏覽:612
安卓手機王者榮耀如何調超高視距 發布:2024-09-20 16:31:30 瀏覽:428
安卓G是什麼app 發布:2024-09-20 16:23:09 瀏覽:81
iphone怎麼壓縮文件 發布:2024-09-20 16:08:18 瀏覽:356