数据库SQL查询语句的编写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库SQL查询语句的编写相关的知识,希望对你有一定的参考价值。

3创建外键:“授课”表中的Cnum和Tnum分别是课程表和教师表的外码
而SC表中的Cnum和Snum分别是课程表C和学生表S的外码。
4创建教师表的Tphone的唯一约束(唯一键)
5创建教师表检查约束check:(Tsalary>=800)
6导出“教学管理”数据库中所有表到excel表“教学管理.xls”
7将“数据库导入数据.xls”中数据导入“教学管理”数据库
8创建名为“indexTname”引索在“教师”表对Tname列建非聚集唯一引索
9创建一个视图名为“ViewTeacherCourse”从教师表、课程表和授课表三个表中,查询教师号,教师姓名、课程号,所教课程名
10编写insert语句将自己的学生记录(学号:;姓名;性别;年龄;电话13012345678;所在系)插入学生表中。插入一条选课记录(学号:课程号:C1)
11编写update语句将自己的学生记录年龄改大一岁,电话第一位改为0
12编写delete语句将自己的选课记录删掉
13查询电话号码以4或7或8结尾的学生的学号,姓名,性别,年龄,电话,需按电话(倒序)排序
14查询数学系姓刘的学生所有信息(包含所有列)
15查询年龄在20与23(含20,23)之间的男学生姓名,课程名及其平均成绩
16从学生表和选课表2个表中,查询选课表所有的学生学号,姓名、所修课程号及成绩
17从学生表和选课表2个表中,查询所有学生(学生标准内所有的学生)姓名、学生性别,所修课程名及成绩,按课程,成绩(倒序)排列
18查询每个老师姓名,其所教课程,及该门课程名的平均成绩,最小成绩,最大成绩
19查询所教课程成绩平均成绩低于80分的老师号,姓名,其所教课程号,课程名,及该门课程的平均成绩
20查询所有学生的学号,姓名、性别,课程号,所修课程及成绩(可能没有选修课程)
21按照性别统计学生性别,最大岁数,最小岁数,平均岁数
22新建名为“教学管理备份”数据库。使用导入导出将“教学管理”数据库导入到“教学管理备份”数据库
23完整备份“教学管理备份”数据库,删除该数据库,然后还原该数据库,使用屏幕拷贝贴图来证明完成该步骤
24修改sa密码为123456,禁用操作系统的administrator登录sqlserver2008。创建登录名“stu+学位后4位”拥有教学管理数据库拥有者的权限
25编写存储过程“StoreDelDept”,过程参数为@dept char(4),过程的将删除过程参数为@dept为系号的所有老师记录以及授课记录。运行该存储过程并验证效果
会多少就先帮多少
万分感谢!!!

select max(id) from 表 where num=100;--查最大ID

select * from 表 where id =(select max(id) from 表 where num=100) and num=100;--查id最大并且num为100的那条数据
SQL SELECT 语句
SELECT 语句用于从表中选取数据。
结果被存储在一个结果表中(称为结果集)。
SQL SELECT 语法
SELECT 列名称 FROM 表名称

以及:
SELECT * FROM 表名称

注释:SQL 语句对大小写不敏感。SELECT 等效于 select。
参考技术A 13.查询电话号码以4或7或8结尾 的学生的学号,姓名,性别,年龄,电话,需按电话(倒序)排序。
select snum,sname,ssex,ssage,Sphone from 学生 where sphone like '%4' or sphone like '%7' or sphone like '%8'
ORDER BY Sphone DESC
14.查询数学系姓刘的学生所有信息(包含所有列)。
SELECT *
FROM sys.tables
where Sname like '刘%' and dname='数学系'
15.查询年龄在20与23(含20,23)之间的男学生姓名,课程名及其平均成绩。
select sname,cname,avg(SCORE) from 学生,课程,选课 where Ssage between 20 and 23 and Ssex='男'
16.从学生表和选课表2个表中,查询选修表所有的学生学号,姓名、所修课程号及成绩。
select选课.Snum,sname,cnum,score
from 选课 LEFT OUTER join 学生
on 选课.Snum=学生.Snum
17.从学生表和选课表2个表中,查询所有学生(学生表所有的学生)姓名、学生性别,所修课程名及成绩,按课程,成绩(倒序)排列。
select sname,Ssex,cnum,score
from 学生 LEFT OUTER join 选课
on 学生.Snum=选课.Snum
ORDER BY score DESC
18.查询每个老师姓名,其所教课程,及该门课程名的平均成绩,最小成绩,最大成绩。
SELECT Tname, Cname,,AVG(score),max(score),min(score)
FROM 教师,课程,选课
19.查询所教课程成绩平均成绩低于80分的老师号,姓名,其所教课程号,课程名,及该门课程的平均成绩。
select Tnum,Tname,CNUM,CNMAE,AVG(score)
from 授课,教师,课程,选课
group by Tnum
having AVG(score)<80
20.查询所有学生的学号,姓名、性别,课程号,所修课程及成绩(可能没有选修课程)。
SELECT 学生.Snum,学生.Sname,SSEX,课程.Cnum,课程.Cname,选课.Score
FROM 课程 INNER JOIN
选课 ON课程.Cnum =选课.Cnum INNER JOIN
学生 ON选课.Snum =学生.Snum

21.按照性别统计学生性别,最大岁数,最小岁数,平均岁数。

select ssex,MAX(ssage),MIN(ssage),AVG(ssage) from 学生
group by SSEX本回答被提问者采纳
参考技术B 课堂作业吗?追问

不是
你会吗
帮帮忙吧
O(∩_∩)O谢谢
快要考试了
这是类型

sql语句中怎么实现in中的模糊查询

现在有这么一个问题,有一个phone的字段,我想提取哪些是移动的号码,于是想按号段查询... where phone in ('134%','135%'....);但发现in方法中用不了模糊查询,而用like or的方法又太麻烦,毕竟号段有十几个,所以有没有什么简单的方法,求教?

1、开启数据库管理工具,打开SQL语言编写窗体。

2、如果我们知道某字段的开头部分,我们可以用 like ‘xx%' select TOP 10 * from CK_ATE where Model like 'PSM24W%'。

3、如果我们知道某字段的中间部分,可以使用 like ‘%xx%’select TOP 10 * from CK_ATE where Model like '%24W%'。

4、如果我们知道某字段的结尾部分,我们库使用 like '%xx'select TOP 10 * from CK_ATE where Model like '%-R-FA1'。

5、补充一 上例中的  "like" 是模糊查询的关键词。

6、补充二 、 模糊查询可能涉及比较大的数据量,为避免查询时把数据库资源耗尽,我们加上一些限制条件  比如 前10行  top 10。

参考技术A where substr(phone,0,3) in ('134','135');
通过截取phone的前三位,要学会变通本回答被提问者采纳
参考技术B 模糊查询要活用啊
where phone like '13[45]%'
这样可以去除134或135开头的数据
参考技术C substring(phone,1,3) in ('134','135',...) 参考技术D where left(phone,3) in ('134','135'……)

以上是关于数据库SQL查询语句的编写的主要内容,如果未能解决你的问题,请参考以下文章

怎样用SQL语句查询一个数据库中的所有表?

编写SQL语句UPDATE查询FMDB

基本查询语句

sql 语句编写 查询参加全部科目考试的学生及其成绩 201601 张三 语文 82

数据库查询语句调优> 对象的设计,常规语句的编写,执行计划定向优化

在数据库中怎么编写查询年龄在20——30岁之间的会员的sql语句