日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

77.SQL 查询方式整理

發布時間:2025/3/20 数据库 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 77.SQL 查询方式整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

1.準備工作

1.1創建表?

-- 學生表
CREATE TABLE [dbo].[t_student4](
?? ?[id] [varchar](50) NULL,
?? ?[name] [varchar](50) NULL
)

-- ?成績表
CREATE TABLE t_score(
?? ?[score] [int] NULL,
?? ?[subject] [int] NULL,
?? ?[studentid] [varchar](50) NULL
)

-- 班級表
CREATE TABLE t_class(
?? ?[id] [varchar](50) NULL,
?? ?[class] [int] NULL,
?? ?[studentid] [varchar](50) NULL
)
?

1.2 插入數據

--學生表

? ?insert t_student4?values?
? ('4028842339e2845d0139e28765740001','張三'),
? ('4028842339e2845d0139e28765740002','李四'),
? ('4028842339e2845d0139e287657400023','王五'),
? ('4028842339e2845d0139e28765740004','小六')

-- 成績表

? ? insert t_score?values?
?? ?(80,2,'4028842339e2845d0139e28765740001'),
?? ?(69,1,'4028842339e2845d0139e287657400023'),
?? ?(96,1,'4028842339e2845d0139e28765740004'),
?? ?(100,3,'4028842339e2845d0139e28765740006')

-- 班級表

? insert t_class values?
? ('4028842339e2845d0139e28765740011',1,'4028842339e2845d0139e28765740001'),
? ('4028842339e2845d0139e28765740012',1,'4028842339e2845d0139e28765740002'),
? ('4028842339e2845d0139e28765740013',2,'4028842339e2845d0139e287657400023'),
? ('4028842339e2845d0139e28765740014',3,'4028842339e2845d0139e28765740004')

?

數據效果

?

2. 查詢方式


?? ?select * from t_student4 ?-- 學生表
? ? ?select * from t_score ?-- 成績表
? ? select * from t_class -- 班級表

?2.1 條件查詢
?? ?

select * from t_student4 a , t_score b where a.id=b.studentid ? --條件查詢


?? ?2.2 ?內連接


?? ?select * from ?t_student4 a inner join ?t_score b on a.id=b.studentid ?-- 內聯查 ? 標準的 ? 這里的 inner可以省略

?? ??2.3 外連接


?? ??? ?-- 左外連接 ?以左邊為主表 ?左邊有的結果一定要有 ?outer 可以省略
?? ??? ??? ?select * from ?t_student4 a ?left outer join ?t_score b on a.id=b.studentid
?? ? ? -- 右外連接 ? 以右邊為主表 ?右邊有的結果一定要有 ?outer 可以省略
?? ??? ??? ?select * from ?t_student4 a ?right outer join ?t_score b on a.id=b.studentid
?? ? ? -- 全外連接 兩張表中的值都出現
?? ??? ??? ?select * from ?t_student4 a ?full outer join ?t_score b on a.id=b.studentid


?
?2.4 ?交叉連接(Cross Join) ?與笛卡爾查詢 ?不帶where查詢的結果相同

?

?? ??? ??? ?SELECT
?? ??? ??? ?a.id,
?? ??? ??? ?a.name,
?? ??? ??? ?b.score,
?? ??? ??? ?b.subject,
?? ??? ??? ?b.studentid
?? ??? ?FROM
?? ??? ??? ?t_student4 a
?? ??? ?CROSS JOIN t_score b;

2.5 合并結果集查詢 union

參考 連接博客

https://my.oschina.net/springMVCAndspring/blog/1546310

注意:查詢的結果 必須表結構完全相同

2.5.1 union ?是 自帶排序 ?并且 剔除重復數據(保留一份交集)

?

2.5.2 ?union all ?只是將兩個結果合并 ?不 排序 不剔除重復數據

?


?

?

?

轉載于:https://my.oschina.net/springMVCAndspring/blog/1600706

總結

以上是生活随笔為你收集整理的77.SQL 查询方式整理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。