数据库查询语句

假设学生选课数据库关系模式如下,请写出下面数据库查询语句Student(SNo,SName,SSex,SClass);学生表:学号,学生姓名,性别,班级Course(CN... 假设学生选课数据库关系模式如下, 请写出下面数据库查询语句
Student (SNo, SName,SSex, SClass);学生表:学号,学生姓名,性别,班级
Course (CNo, CName); 课程表:课程编号,课程名称
StudentCourse SC (SNo,CNo, Score) 成绩表: 学号,课程编号,成绩
1) 查询学生总人数
2) 查询选修了课程的学生人数
3) 计算1号课程的学生平均成绩
4) 查询选修了3门以上课程的学生的学号
5) 从学生选课数据库中查询选修“数据库原理”课并且成绩在90分以上的学生名单
展开
 我来答
拾趣世界
高粉答主

2020-03-06 · 分享新鲜事,感谢关注
拾趣世界
采纳数:11 获赞数:86027

向TA提问 私信TA
展开全部

数据库查询语句需要根据不同的需求进行编写。(以MySQL数据库查询为例)

1、如果需要查询某个数据表的所有字段,则使用 * 代表所有字段进行查询即可。该种方式是最简单的一种查询。

2、若需要查询某表的某些字段,则在select后加上字段名,多个字段名使用 , 进行分隔。

3、若需要根据指定条件查询某些数据记录,则可以使用 where关键字来进行条件查询。

4、若需要对查询结果进行分组,则可以使用 Group By 关键字来进行分组查询。

鲜亮且耐心丶瑰宝X
2018-03-30 · TA获得超过5114个赞
知道小有建树答主
回答量:224
采纳率:87%
帮助的人:97.3万
展开全部

在使用 Laravel 的时候,很多时候我们想知道背后执行的数据库查询语句是什么。
这个其实可以有一个很简单的方法:

在 app\Providers\AppServiceProvider 里面:

public function boot()    {        if ( $this->app->environment() === 'local' ) {           \Log::info(\DB::getQueryLog());        }    }

如果没有效果的话,记得在代码前面执行 DB::enableQueryLog()。在使用 tinker 的情况下也是可以的:

⚡ php artisan tinkerPsy Shell v0.7.0 (PHP 7.0.4-7+deb.sury.org~wily+2 — cli) by Justin Hileman>>> DB::enableQueryLog(); => null>>> App\User::all();=> Illuminate\Database\Eloquent\Collection {#771     all: [       App\User {#777         ...       },       App\User {#778         ...       },       ...     ],   }>>> DB::getQueryLog();=> [     [       "query" => "select * from "users"",       "bindings" => [],       "time" => 0.32,     ],   ]

主要在 tinker 最开始的时候执行 DB::enableQueryLog() ,然后你执行完数据库查询后,就可以使用 DB::getQueryLog() 查看了

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
下一页停留
2014-12-01 · TA获得超过534个赞
知道小有建树答主
回答量:147
采纳率:50%
帮助的人:86.3万
展开全部
(我不太清楚你说的课程号是指CNO还是CNAME,我这里假定你说的课程号为CNO,以下语句均未考虑字段数值类型)
1、SELECT A1.SNO,A1.SNAME,A2.GRADE FROM S A1,SC A2 WHERE A1.SNO = A2.SNO AND A2.CNO = C2 AND A2.GRADE BETWEEN 80 AND 90

2、不太懂

3、SELECT A1.SNO FROM SC A1,SC A2 WHERE A1.SNO = A2.SNO AND A1.CNO = C2 AND
A2.CNO = C4 GROUP BY A1.SNO

4、SELECT A1.SNO FROM SC A1 WHERE A1.CNO = C1 AND A1.SNO NOT IN (SELECT SNO FROM SC WHERE CNO = C2)

5、SELECT A1.SNO,A1.SNAME,A1.AGE FROM S A1,SC A2 WHERE A1.SNO = A2.SNO AND A2.CNO NOT IN(C1,C2)

6、SELECT SNO,SNAME FROM S WHERE SNO NOT IN(
SELECT SNO FROM SC WHERE GRADE <= 80 ) GROUP BY SNO

7、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
推荐于2017-11-17 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
1) 查询学生总人数
SELECT COUNT(SNo) FROM Student

2) 查询选修了课程的学生人数
SELECT COUNT(DISTINCT SNo) FROM SC

3) 计算1号课程的学生平均成绩
SELECT AVG(Score) FROM SC WHERE CNo = 1

4) 查询选修了3门以上课程的学生的学号
SELECT SNo
FROM SC
GROUP BY SNo
HAVING COUNT(CNo) > 3

5) 从学生选课数据库中查询选修“”课并且成绩在90分以上的学生名单
SELECT SName
FROM SC
WHERE CNo = (SELECT CNo FROM Course WHERE CName = '数据库原理')
AND Score > 90
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7ed6193
2015-02-11
知道答主
回答量:28
采纳率:0%
帮助的人:23.1万
展开全部
--查询学生总人数
select count(*)
from Student

--查询选修了课程的学生人数
select count(distinct SNo)
from SC

--计算1号课程的学生平均成绩
select avg(Score) 1号课程平均成绩
from sc
where CNo = '1'

--查询选修了3门以上课程的学生的学号
select SNo

from SC
group by SNo having count(CNo) >3

--从学生选课数据库中查询选修“数据库原理”课并且成绩在90分以上的学生名单
select S.SNo,S.SName
from Student S join SC on S.SNo = SC.SNo join Course C on C.CNo = SC.CNo
where C.CName = '数据库原理' and SC.Score > 90
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式