数据库

计算列
select 学生信息=‘学号:‘+stuno+‘,姓名:‘+name
from student

select 学生信息=‘hello‘
from student
输出格式:
学号:.......,姓名.......,say:hello

根据条件替换 case......when(when....then).......end
select 姓名=name,
年龄段=case
when borndate>=‘2000-1-1‘ then ‘00后‘
when borndate>=‘1990-1-1‘ then ‘90后‘
when brondate>=‘1980-1-1’then‘80后’
else ‘其他’
end
form student

排序
select 列名 from 表名 order by 列名(按照这个列排序)
select * from student order by borndate asc 升序排序
select * from student order by borndate desc降序排序
select * from student order by borndate asc ,name asc(生日相同的就按照名字的升序排序)

消除重复 distinct
select 姓名=name,
distinct 年龄段=case
when borndate>=‘2000-1-1‘ then ‘00后‘
when borndate>=‘1990-1-1‘ then ‘90后‘
when brondate>=‘1980-1-1’then‘80后’
else ‘其他’
end
form student

限制结果返回行(纪录)数,top
--得到年龄最小的5个学生
select top 5*from student order by borndate desc

-- 聚合
--查询全校学生人数
select count(*)as 别名 from 表名

-- 表连接:内连接 外连接(左外连接 右外连接 自然连接)
select 列名或者* from 表名,表名--自然连接

--列出所有学生的考试情况
--左连接
select 学生表.name ,成绩表.*(*表示所有信息)
from 学生表 left outer(outer可以省略) join 成绩表 on 学生表.学号=成绩表.学号
--内连接
select 学生表.name ,成绩表.*(*表示所有信息)
from 学生表 inner(inner可以省略) join 成绩表 on 学生表.学号=成绩表.学号

-- 查询所有参与考试的学生每次考试的成绩
select 学生表.学号,学生表.name,成绩表.*
from 学生表 join 成绩表 on 学生表.学号=成绩表.学号
join 课程表 on 成绩表.课程号=课程表.课程号

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。