1. 如何用sql语句查询同时选修课程代码为C001和C007的学生的学号。。。
你好!
select
学号
from
学生表
a
join
选课表
b
on
a.学号=b.学号
where
b.课程号='c001'
or
b.'课程号'='c007'
group
by
学号
having
count(1)>=2
其实还有其它方法。这个只通过复筛选后,看是否有两条记录以上的,表示都选了的。
打字不易,采纳哦!
2. 查询所有选SQL课程的学生学号,姓名和专业。用SQL语句写出
学生表:TA
选课表:TB
select 学号, 姓名,专业
from TA
where 学号 in
(
select 学号
from TB
where 课程 = 'sql'
)
3. SQL数据库中查询选修了所有课程的学生的学号和姓名及选修门数
所有离开了数据结构(表结构)的SQL语句都是白搭!
先假设数据结构为
学生表(学号主键或设有唯一索引,姓名,性别)
课程表(课程号主键或设有唯一索引,课程名)
选课表(课程号,学号)--字段“课程号”和“学号"设有双字段唯一索引
查询出选修了所有课程的学生的学号、姓名和选修门数:
selecta.学号,b.姓名,a.cntas选修门数from
(select学号,count(1)asascntfrom选课表groupby学号
havingcount(1)=(selectcount(1)from课程表))a,
学生表bwherea.学号=b.学号;
4. 查询所有选sql课程的学生学号,姓名和专业
select 学生学号,姓名,专业
from table
where 课程='sql'
5. SQL 题目 学生选课系统
3、写出sql语句。
①查询所有选sql课程的学生学号,姓名和专业
select
学生学号,姓名,专业
from
学生基本信息表
where
学号
in
(select
学号
from
选课表
where
课程号
in
(select
课程号
from
课程表
where
课程名='sql课程'))
②删除所有选择数学的同学的选课记录
delete
from
选课表
where
课程号
in
(select
课程号
from
课程表
where
课程名='数学')
③查询有哪些课程没有被任何同学报选
select
课程名
from
弗工缔继郫荒惦维定哩课程表
where
课程号
not
in
(select
课程号
from
选课表)
6. 关于sql语句:查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;
简单来说:前半段是【学过‘001’课程的学生】,后半段是【学过‘002’课程的学生】;其中【 where SC_2.S#=SC.S# 】是把前后两段结果连接起来的关键,相当于把两个结果 Inner Join,从而得出最终结果【同时学过‘001’和‘002’的学生】。
先查SC表获取SID和对应所选课程按一定顺序排序的CID字符串的拼接(如学号01选了课程010203那么对CID进行字符串拼接成学号:01gc:01,02,03格式),获取01学生的gc字符串,再获取其它gc=01学生的gc排除01的SID最后查STUDENT信息根据获取的SID到此结束。
SQL功能
1、SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中,外模式又叫做视图(View),全局模式简称模式(Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。
2、SQL数据操纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。
以上内容参考:网络-结构化查询语言
7. SQL数据库中查询选修了所有课程的学生的学号和姓名及选修门数
所有离开了数据结构(表结构)的SQL语句都是白搭!
先假设数据结构为
学生表(学号 主键或设有唯一索引,姓名,性别)
课程表(课程号 主键或设有唯一索引,课程名)
选课表(课程号,学号)-- 字段“课程号”和“学号"设有双字段唯一索引
查询出选修了所有课程的学生的学号、姓名和选修门数:
select a.学号,b.姓名,a.cnt as 选修门数 from
(select 学号,count(1) as as cnt from 选课表 group by 学号
having count(1)=(select count(1) from 课程表)) a,
学生表 b where a.学号=b.学号;
8. SQL 语句:在sc表中查询至少选修了两门课的学生学号的语句
至少选修c1和c2的学生编号:
select sno(学生的学号) from sc(学生选课表) group by sno having count(*)>1
SQL结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。
SQL结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
(8)选sql课程的学号扩展阅读:
SQL常见语句:
更新:update table1 set field1=value1 where 范围。
查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)。
排序:select * from table1 order by field1,field2 [desc]。
求和:select sum(field1) as sumvalue from table1。
平均:select avg(field1) as avgvalue from table1。
最大:select max(field1) as maxvalue from table1。
最小:select min(field1) as minvalue from table1[separator]。