SQL语句简单查询实例

--2020.3.18
-- 单表查询
use student;
select sno from student;
-- gorup by  将查询结果按指定字段的取值分组
-- having 晒寻满足指定条件的组
-- order by  按指定的字段的值,以升序或降序排列查询结果

-- 查询全体学生的姓名、出生年份
-- SELECT Sname, 2020-Sage Birthday FROM Student;

-- 在每个学生姓名后面显示字符串2018
-- SELECT Sname ,'2018' FROM student;

-- 查询全体学生的人数
-- SELECT count(Sname) 学生 FROM Student;

-- 取消重复行
-- 在,使用一个即可
-- SELECT DISTINCT Sno from Student;

-- 查询满足条件的子句(where)

-- 使用谓词
-- BETWEEN...AND.. NOT BETWEEN...AND...

select sname,sdept,sage from student where Sage between 20 and 23;
--select sname,sdept,sage from student where Sage between 20 and 18;

--IN<值表>,not in<值表> 
select sno,sname,sdept from student where Sdept in ('CS','MA','IS');
select sno,sname,sdept from student where Sdept not in ('CS','IS');

-- [NOT] LIKE '<匹配串>' [ESCAPE '<换码字符>']
-- <匹配串>:指定匹配模板,可以是笃定字符串或含通配符的字符串
-- 当匹配模板为固定字符串时,可以用=运算符取代like谓词。!= 《NOT LIKE》
-- 通配符
-- %()任意长度(长度可以为0)的字符串
-- _(下划线)代表任意单个字符
-- 当用户要查询的字符串本身就含有% 或 _时,要使用ESCAPE‘<换码字符>’对通配符进行转义
-- 查询所有姓刘的同学的学号,姓名和系列
select sno,sname,sdept from student where sname like '刘%';

select * from student where sname like '欧阳__';

select * from Student where sname like '欧阳__';

-- 在课程表中查询‘Db_DESIGN’ 这门课的课程号以及学分
-- 使用通配符
select cno,cname from course where cname like 'DB\_DESIGN' escape '\' ;

-- 查询以‘DB_’开头,且倒数第三个字符以i的课程的课程号以及学分。
select cno,ccredit from course where cname like 'DB\_%i__' escape '\';

-- 使用谓词
-- 涉及到空值用 is null ,is not null
-- 查询选修了课程,但还没有得到成绩的学生的学号和课程号
select sno,cno from sc where grade is null;

-- 用逻辑元符AND 和 OR 
select sname,sdept,sage from student where sage between 18 and 20;
select sname,sdept,sage from student where sage>=18 and sage<=20;
-- 查询计算机系,年龄20岁以下
-- 注意别丢条件,要细心
select sno,sname,sdept from student where sdept='CS' and sage<20;

select cname,cno,cpno,ccredit from Course where Cname like '数%';
select sno,sname from student where sage<20 and ssex='女' and sdept='CS';

select * from Course where cpno='7' or Cpno='5';
select * from Course where Cpno in('5','7');

-- 使用ORDER BY子句
-- 可以按一个或多个属性列排序
-- 升序:ASC ; 降序:DESC;缺省值为升序

-- 查询所有成绩选课学生的学号和课程号,结果按成绩降序排序
select sno,cno 
from sc 
where grade >90
order by grade desc;

-- 查询所有学生的学号、姓名、所在系、以及他们的年龄,结果按所在系升序排序,同一个系的学生按所在系升序,同一系的学生降序排序
select sno,sname ,sdept,sage
from student
order by Sdept asc,sage desc;


-- 查询选修了3号课程的学生的学号及其cehngji
select * from sc where cno='3' order by grade desc;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值