SQL查询数据的几大方法

有你,查询数据我什么都不怕。快快掌握!!

出大招的工具:

1.使用LIKE、BETWEEN、IN进行模糊查询

eg1:

SELECT * FROM Students

WHERE 姓名 like '张%'

eg2:

SELECT StudentID, Score FROM SCore WHERE Score

BETWEEN 60 AND 80

eg3:

SELECT SName AS 学生姓名,SAddress AS 地址

FROM Students

WHERE SAddress IN ('北京','广州','上海')

2.通配符

eg:

SELECT * FROM 数据表

WHERE 编号 LIKE '00[^8]%[AC]%'

3.SUM() 

AVG() 

MAX()、MIN() 

COUNT()

eg1:

SELECT SUM(Score)  AS  学号为23的学生总分

FROM  Score 

WHERE  StudentID =23

eg2:

SELECT AVG(SCore) AS 及格平均成绩

FROM Score

WHERE Score >=60

eg3:

SELECT AVG(SCore) AS 平均成绩, MAX (Score) AS 最高分,

    MIN (Score) AS 最低分

FROM Score

WHERE Score >=60

eg4:

SELECT COUNT (*)  AS 及格人数

FROM Score

WHERE Score>=60

4.分组查询用法

SELECT …… FROM  <表名> 

WHERE  ……

GROUP BY ……

eg:

SELECT COUNT(*) AS 人数, SGrade AS 年级

FROM  Students

 GROUP BY SGrade

eg2:

SELECT CourseID, AVG(Score) AS 课程平均成绩

FROM Score

GROUP BY CourseID

eg3:

SELECT CourseID, AVG(Score) AS 课程平均成绩

FROM Score

GROUP BY CourseID

ORDER BY AVG(Score)

5.多列分组

SELECT COUNT(*) AS 人数,SGrade AS 年级,SSex AS   性别

 FROM StudentS

GROUP BY SGrade,SSex

ORDER BY SGrade

6.分组筛选

SELECT …… FROM  <表名>

WHERE ……

GROUP BY ……

HAVING……

eg:

SELECT COUNT(*) AS 人数,SGrade AS 年级

FROM Students

GROUP BY SGrade

HAVING COUNT(*)>15

7.多表连接查询

*内连接(INNER JOIN)

SELECT   ……

FROM   表1

INNER JOIN   表2

ON   ……

等价于

SELECT  ……

FROM   表1,表2

WHERE ……

eg:

SELECT Students.SName, Score.CourseID, Score.Score

FROM   Students,Score

WHERE  Students.SCode = Score.StudentID

三表内连接:

eg:

SELECT

S.SName AS 姓名, CS.CourseName AS 课程, C.Score AS 成绩

FROM Students AS S

INNER JOIN Score AS C ON (S.SCode = C.StudentID)

INNER JOIN Course AS CS ON (CS.CourseID = C.CourseID)

*外连接
*左外连接   (LEFT JOIN)
eg:

SELECT   S.SName,C.CourseID,C.Score

FROM   Students AS S

LEFT JOIN   Score AS C

ON     C.StudentID = S.SCode

*右外连接   (RIGHT JOIN)
eg:

SELECT 图书编号,图书名称,出版社名称

FROM 图书表

RIGHT OUTER JOIN 出版社表

ON 图书表.出版社编号 = 出版社表.出版社编号

 

posted on   放飞理想  阅读(973)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示