当前位置:首页 » 编程语言 » 经典sql分析笔试
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

经典sql分析笔试

发布时间: 2022-06-13 21:57:24

A. sql 方面的问题 几个笔试题

1)首先把A中的成绩删除了 然后再添加班级 不过数据不能单纯用DDL语言添加吧
Alter Table A drop Column 成绩
Alter Table A Add Column 班级 varchar(50) as select 班级 from B where A.姓名 =B.姓名
2)至于这个可以参考
http://..com/question/9870630.html

这些都可以在SQL Server帮助中找到 2000的要比2005的讲解全面一点

B. SQL笔试题寻求答案

select count(*) ,case Fwage > 5000 then 1 else 0 end as type1, case fage > 32 then 1 else 0 end as type2 from emploreeinfo group by type1,type2

有个问题啊 就是你的month是什么形式的 年月日 还是数字形式 我按数字形式给你写一个啊 如果是年-月的话 回头再给你写
我假设是同一年了 如果不是可以在left join 的on后面改条件
select s1.month,sum(s1.consume) as 当月消费, sum(s2.consume) as 上月消费, sum(s3.consume) as 下月消费, from student s1 left join student s2 on s1.month=s2.month+1 left join student s3 on s1.month=s3.month-1 group by s1.month

C. sql笔试题三表联查求解

select sum (m.order_price) from (select * from sellorders m ,(select * from branch b, storehouse n where b.branch_id = n.branch_id)t where m.store_id = t.store_id and m.delivery_state = 15 and (m.order_price>500) and (date(m.order_time) between '2015-03-01' and '2015-03-31') and b.branch_id = ?)
传个分公司ID参数就能查到这个公司的了。

D. 一些SQL的试题

1.应用程序
2.实体完整性
3.distince
4.
5.create Nonclustered index IDX_authors on authors(州名列,城市名列)
6.创建表
7.select 列名 from 表名
8.sum()
9.top
10.alter procere
11.ltrim()
12.declare @变量名 数据类型
13.where
14.from
15.order by
16.cast(表达式 as 数据类型)
17.count()
18.drop procere 存储过程名
19.创建数据库
20.价格大于15美元的所有数据
21.数据库
22.rollback
23.
24.服务管理器
25.
26.数据冗余(备份)
27.3
28.数据库
29.应用程序
30.drop table
33.操作系统
权限
1.
2.是并发控制的单位,是用户定义的一个操作序列,具有原子性,一致性,隔离性,持续性四个特性。
3.共享锁(S锁):如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁.
获准共享锁的事务只能读数据,不能修改数据。
4.
5.
1.存储过程可以使得程序执行效率更高、安全性更好,因为过程建立之后 已经编译并且储存到数据库,直接写sql就需要先分析再执行因此过程效率更高,直接写sql语句会带来安全性问题,如:sql注入
2.建立过程不会很耗系统资源,因为过程只是在调用才执行。
6.聚簇索引是一种对磁盘上实际数据重新组织以按指定的一个或多个列的值排序。
7.
8.是并发控制的单位,是用户定义的一个操作序列,具有原子性,一致性,隔离性,持续性四个特性。
BEGIN TRAN [Tran_name]开始事务
COMMIT TRAN [Tran_name]事务完成提交事务
9.存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可。
10.增量备份:是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件。
12.原子性,要么都做,要么不做。
13.排它锁若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。
它防止任何其它事务获取资源上的锁,直到在事务的末尾将资源上的原始锁释放为止。
14.分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都有DBMS的一份完整拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的大型数据库。
15.
17同2,18同8
19.DBMS数据库管理系统,DBA数据库管理员
20.1对1,一个学生对应一个学号
1对多 一个学生对应多门功课
多对多 商品与厂商
(备注:只能做这么多了,很长时间没看书了,有时间可以看看<数据库系统概论>萨师煊 王珊 高等教育出版社,很不错的一本书哦。上有你要的答案,特别是简答题。)
21.
22.数据库完整性,对数据库提出的某种约束条件或规则。
分三种:实体完整性,参照完整性,用户自定义完整性
23.
24.原则如下:
●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。
●在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。
●在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。
●如果待排序的列有多个,可以在这些列上建立复合索引(compound index)。

26。聚集索引确定表中数据的物理顺序。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引)
非聚集索引一种索引,该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。一个表可以有多个聚集索引

E. sql语句分析。(名牌大学考试题)

首先要说,这些语法都是基于SQLSERVER数据库的语法,DATEDIFF TOP等,在ORACLE等其他数据库是没有的。
1. 主要是datediff函数的用法,获取两个日期之间的时间差,可以得到年月日小时分秒等等,可以参看这个函数的说明。
这里第一个参数表示获取时间差的类型,minute表示获取两个日期的时间差是分钟。
第二个参数是起始时间,第二个是截止时间,都是datetime类型。
getdate(),获取当前时间的函数。
我觉得你这个语句写的有问题。第一,参数minute,不需要使用单引号,如果使用了单引号,参数就错误了,因为datediff第一个参数不是字符型的。
第二,datediff的函数第二个日期是开始时间,第二个是结束时间,你这个正好反了。
SQL: select * from 日程安排 where datediff(minute,f开始时间,getdate())>5
这个的意思是当前时间已经超过了开始时间5分钟的,会显示出来,而不是提前5分钟提醒。
提前五分钟提醒:SQL: select * from 日程安排 where datediff(minute,getdate(), f开始时间) < 5
距离当前时间小于5分钟的记录,才是提前5分钟提醒。

2.
select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段= a.主键字段 order by a.排序字段

先看from括号内的语句:select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc,按照排序字段降序排列取出前20行数据。
然后再整体看,把表和这个20行数据关联,那么能取到的最大范围也就是这20行了。
然后取出前10行,我不知道这个为什么叫做分页查询,因为根本没有每页多少行以及第几页的参数在。这个语句就是按照排序字段倒叙排列的前20行,然后在按照排序字段正序排列从这前20行中取出前10行。实际上就是取出了按照排序字段倒叙排列的第11-20行的数据并正序排列。

3.内连接:实际上就是两表直接连接,取出连接成立的所有数据。语法使用Inner join
距离:有学生表:student : student_id , student_name
001 张三
002 李四
003 王五
成绩表: score : course_id student_id score
课程1 001 85
课程2 001 85
课程1 002 80
课程2 002 90
查询学生选课成绩,显示 student_name, course_id, score
select a.student_name, b.course_id, b.score
from student a inner join score b on a.student_id = b.student_id
查询结果 student_name, course_id, score
张三 课程1 85
张三 课程2 85
李四 课程1 80
李四 课程2 90
可以看到,直接符合连接条件的数据,都会被选择出来,而王五,因为在成绩表没有成绩,所以查询结果并没有王五的数据。

4.外连接,left join, right join,分别是左外连接和右外连接。
就是以一个表为主,而另一个表为辅。主表的数据都会被查询出来,而符合两表连接条件,那么辅表的数据就会显示,否则,为空(NULL)
还以上表和上述语句为例,查询所有学生的成绩清单,没有成绩显示空,但是学生要显示。
select a.student_name, b.course_id, b.score
from student a left join score b on a.student_id = b.student_id

查询结果:
student_name course_id score
张三 课程1 85
张三 课程2 85
李四 课程1 80
李四 课程2 90
王五 NULL NULL

可以看到,虽然连接条件王五这条并不成立,但是王五的数据一样会被显示出来,只是成绩表的相关数据位空。
有连接和左连接一样,把上面的顺序换过来,效果相同
select a.student_name, b.course_id, b.score
from score b right join student a on a.student_id = b.student_id

F. 谁有sql 笔试题,要难的,经典的

明天发给你!

G. 经典的SQL面试题目,百度有答案,谁有更简洁的

select a.id,a.proid as pro1,b.proid as pro2 from (select * from tablename where proid =1) a,(select * from tablename where proid =2) b where a.id=b.id

H. sql笔试题

两个表第一个store(store_id,city,space)
第二个employee(store_id,emp_id,salary)
1、每家店的平均工资
select t1.store_id,AVG(salary) from store t1 inner join employee t2 on t1.store_id=t2.store_di
group by t1.store_id

2、每个城市的平均工资
select t1.city,AVG(salary) from store t1 inner join employee t2 on t1.store_id=t2.store_di
group by t1.city
3、查找该城市存在员工工资低于1000的城市信息
select distinct t1.city
from store t1 inner join employee t2 on t1.store_id=t2.store_id
where t2.salary<1000

4、查找城市其职工工资有低于1000的该城市职工平均工资
select t1.city,avg(t2.salary)
from store t1 inner join employee t2 on t1.store_id=t2.store_id
where exists(select * from employee t3
where t1.store_id=t3.store_id and t3.salary<1000)
group by t1.city

其他的自己看吧,比较简单
5、每个城市工资最高的员工信息
select t2.city,t1.* from employee t1 inner join store t2 on t1.store_id=t2.store_id
where exists(
select * from (
select t1.city,max(salary) from store t1 inner join employee t2 on t1.store_id=t2.store_di
group by t1.city) tt where t1.city=tt.city and t2.salary=tt.salary)
6、查询每个城市的员工总工资,总的店面面积(?),门店的数量,员工数量,最高/最低工资数

I. SQL数据库笔试题

1 前面加createview 视图名 as 2 sele 学号 from 学生表 where 学号 in(sele max(成绩) from 成绩) group by 学号3 类似