美文网首页
2019-05-06

2019-05-06

作者: 马克扎克化云腾 | 来源:发表于2019-05-07 09:45 被阅读0次

select * from student
select * from lession
select * from grade

-- 基本语法:
-- SELECT * from 表名
-- where 条件
-- GROUP BY 分组的列名
-- HAVING 分组条件
-- ORDER BY 排序

-- 1)查询表student的学号,姓名,班级,把年龄+1岁新列名为‘现在年龄’。
select sid,sname ,age+1 as 现在年龄 from student

-- 2查询学号在3到6之间的学生的学号,姓名,JAVA成绩, 按学号降序排。
SELECT
student.sid,
student.sname,
grade.sgrade,
grade.Type
FROM
student,
grade
WHERE
student.sid = grade.sid
AND student.sid BETWEEN 3 AND 6
AND type = 'java'
ORDER BY student.sid DESC

-- 3)查询男生基本信息按学号降序排
SELECT
*
FROM
student
WHERE
sex = '男'
ORDER BY sid DESC

-- 4)查询学号为1的同学所学的课程和讲课教师
SELECT
lession.type,
lession.teacher
FROM
lession,
student
WHERE
lession.sclass = student.sclass AND student.sid = 1

-- 5)查询姓名为张三的学生的课程名,老师 ,成绩(两种方法)
SELECT
l.type,
l.teacher,
g.sgrade,
s.sname
FROM
lession l,
grade g,
student s
WHERE l.type = g.type
AND l.sclass = s.sclass
AND s.sid = g.sid
AND s.sname = '张三'

SELECT
l.type,
l.teacher,
g.sgrade
FROM
lession l
JOIN grade g ON l.Type = g.Type
JOIN student s ON l.sclass = s.sclass
AND s.sid = g.sid
WHERE s.sname = '张三'

-- 6)查询student表有多少条数据
select count(*) from student

-- 7)查询1号同学的姓名和总成绩(两种方法)
SELECT
sname,
sum(sgrade) AS 总成绩
FROM
student
JOIN grade ON student.sid = grade.sid
WHERE
student.sid = 1
GROUP BY sname

-- 8)查询一班学生的学号,姓名,总成绩
SELECT
student.sid,
student.sname,
sum(sgrade)
FROM
student,
grade
WHERE
student.sid = grade.sid
AND student.sclass = '一班'
GROUP BY student.sid,student.sname

--9)查询平均分大于85,总分大于170的学生学号,姓名,班级
SELECT
student.sid,
student.sname,
avg(sgrade),
sum(sgrade),
student.sclass
FROM
student,
grade
WHERE
student.sid = grade.sid
GROUP BY
student.sid,
student.sname,
student.sclass
HAVING
avg(sgrade) > 85 AND sum(sgrade) > 170

相关文章

网友评论

      本文标题:2019-05-06

      本文链接:https://www.haomeiwen.com/subject/tjbsoqtx.html