教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

SQL查询语句例子

来源:网络收集 时间:2026-09-09
导读: 数据表的查询(select) select 字段列表 [as 别名], * from 数据表名 [where 条件语句] [group by 分组字段] [order by 排序字段列表 desc] [LIMIT startrow,rownumber] 1、Select 字段列表 From 数据表 例:①、select id,gsmc,add,tel from haf (* 表示数据

数据表的查询(select)

select 字段列表 [as 别名], * from 数据表名 [where 条件语句] [group by 分组字段]

[order by 排序字段列表 desc] [LIMIT startrow,rownumber] 1、Select 字段列表 From 数据表

例:①、select id,gsmc,add,tel from haf (* 表示数据表中所有字段) ②、select 单价,数量,单价*数量 as 合计金额 from haf (As 设置字段的别名)

2、Select … from … Where 筛选条件式

筛选条件式:①、字符串数据: select * from 成绩单 Where 姓名='李明'

②、万用字符: select * from 成绩单 Where 姓名 like '李%' select * from 成绩单 Where 姓名 like '%李%' select * from 成绩单 Where 姓名 like '%李_' ③、特殊的条件式: ⑴= / > / < / <> / >= / <=

⑵AND(逻辑与) OR(逻辑或) NOT(逻辑非) ⑶Where 字段名称 in(值一,值二)

⑷Where 字段名称 Is Null / Where 字段名称 Is Not Null 3、Select … from … group by 字段 SQL函数:

SELECT sex,count(id) as women from `user` group by 'sex'; 函数名描述函数名描述 AVG平均值Count计数 MAX最大值MIN最小值 Sum求和

4、Select … from … Order by 字段列表 desc(倒,如果直接写为顺序)

5、Select … from … LIMIT \ 第二节 SQL语句实例应用 数据库说明: student(学生表): stdid int(11) id号 son char(5) 学号 sname char(20) 姓名 ssex tinyint(1) 性别 sage char(3) 年龄

sdept char(20) 所在系

course(课程表): couid int(11) id号 cno char(5) 课程号 cname char(20) 课程名 cpno char(6) 选修课号

ccredit char(50) 学分

sc(学生选课表): scid int(11) id号 cno char(5) 课程号 grade float 成绩

sno char(5) 学号

单表查询:

一、选择表中的若干字段: 查询指定列:

1、查询全体学生的学号与姓名; select son,sname from student 2、查询全体学生的姓名、学号、所在系; select sname,son,sdept from student 3、查询全体学生的详细记录; select * from student 查询经过计算的值:

4、查全体学生的姓名及其出生年份

select sname,year(now())-sage as '出生年份' from student

5、查询全体学生的姓名、出生年份和所有系,要求用大(小)写字母表示所有系名

select sname as '姓名','出生与',year(now())-sage as '出生年份',UPPER(sdept) as '系别' from student

select sname as '姓名','出生与',year(now())-sage as '出生年份',lower(sdept) as '系别' from student 二、选择表中的若干记录: 消除取值重复的行:

6、查询选修了课程的学生学号 select distinct sno from sc 查询满足条件的记录: 比较大小:

7、查询计算机全体学生的名单

select sname from student where sdept='cs' 8、查询所有年龄在20岁以下的学生姓名及其年龄 select sname,sage from student where sage<20 9、查询考试成绩小于90分的学生的学号 select distinct sno from sc where grade<90 确定范围:

10、查询年龄在18-20岁之间的学生的姓名、系别和年龄。

select sname,sdept,sage from student where sage between 18 and 20

11、查询年龄不在19-20岁之间的学生的姓名、系别和年龄。

select sname,sdept,sage from student where sage not between 19 and 20 确定集合:

12、查询信息系(is)、数学系(ma)和计算机科学系(cs)学生的姓名和性别。 select sname,ssex from student where sdept in('is','ma','cs') 13、查询不是信息系(is)、数学系(ma)的学生的姓名、系别和年龄。 select sname,ssex from student where sdept not in('is','ma') 字符匹配(like '<匹配串>' %代表任意长度(长度可以为0)的字符串 ; _代表任意单个字符,汉字得用两个\:

14、查询学号为95001的学生的详细情况 select * from student where son like '95001' 15、查询所有姓名李的学生的姓名、学号和性别。

select sname,son,ssex from student where sname like '李%' 16、查询姓名是两个字学生的姓名、学号和性别。

select sname,son,ssex from student where sname like '____' 17、查询所有不姓李的学生姓名。

select sname from student where sname not like '李__' 涉及空值的查询:

18、某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩,查询缺少成绩的学生的学号和相应的课程号。 select sno,cno from sc where grade is null 19、查询所有有成绩的学生学号和课程号。 select sno,cno from sc where grade is not null 多重条件查询(and or):

20、查询计算机系年龄在20岁的学生姓名。

select sname from student where sdept='cs' and sage=20

21、查询信息系(is)、数学系(ma)和计算机科学系(cs)学生的姓名和性别。 select sname,ssex from student where sdept='is' or sdept='ma' or sdept='cs'

三、对查询结果排序:

22、查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。

select sno,grade from sc where cno='3' order by grade desc 23、查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列。

select * from student order by sdept,sage desc 四、使用集函数: 24、查询学生总人数。

select count(*) as '总人数' from student 25、查询选修了课程的学生人数。

select count(distinct sno) as '人数' from sc 26、计算1号课程的学生平均成绩

select format(avg(grade),2) as '平均成绩' from sc where cno='1' 27、查询选修1号课程的学生最高分数。 select max(grade) from sc where cno='1' 五、对查询结果分组:

28、求各个课程号及相应的选课人数。

select cno as '课程号',count(sno) as '人数' from sc group by cno 29、查询选修了3门以上课程的学生学号。

select sno from sc group by sno having count(*)>2

注:where 子句与 having 短语的区别在于作用对象不同,where 子句作用于基本表或视图,从中选择满足条件的记录,having短语作用于组,从中选择满足条件的组。

多表查询

同时查询两个以上的表,称为连接查询。 等值连接:当连接运算符为=时,为等值连接。 1、查询每个学生及其选修课程的情况(等值连接)。

select student.*,sc.* from student,sc where student.son=sc.sno 自然连接:在等值连接中把目标列中重复的属性列去掉。 2、查询每个学生及其选修课程的情况(自然连接)。

select

student.son,sname,ssex,sage,sdept,cno,grade

from

student,sc where student.son=sc.sno

自身连接:连接操作不仅可以在两个表之间进行,也可以是一个表与 …… 此处隐藏:2601字,全部文档内容请下载后查看。喜欢就下载吧 ……

SQL查询语句例子.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/597150.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)