sql的4道题目.要正确答案

来源:百度知道 编辑:UC知道 时间:2024/05/16 14:12:47
1.请解释下列4个关键字的运行机制(不考虑数据引擎的优化机制)
1).LEFT OUTER JOIN
2).RIGHT OUTER JOIN
3).CROSS JOIN
4).INNER JOIN

2.有一张学生成绩表,有三个字段,第一个字段是学生姓名,第2个字段是科目(表中共有10中科目),
第3个字段是成绩.现在请写出一个SQL语句,得出每种科目的平均成绩.

3.SOL的优化:在只有一张表的数据库中,不允许调节表的结构,如何提高select语句的查询效率.

4.SQL查询的机制:在一张表中,使用简单的select*from table 时会列出表中所有的数据.
请问这些数据显示出来的时候的顺序是由何种机制决定的。

回如下,希望对您有帮助.
1.Inner Join 把两个表连接在一起,返回两个表中相匹配的记录

Left outer join,左侧表所有的记录都返回,右侧匹配的记录返回,没有匹配的返回Null

Right outer join 与Left outer join相反,右侧的记录返回,左侧返回匹配的记录,没有匹配返回Null

Cross join 两个表的笛卡儿积,返回所有可能的值,不允许有连接条件!

2.select 科目,avg(成绩) from 成绩表 group by 科目
order by 科目

3.建立索引是提高select语句最好的方法
(1).使用exists关键字检查结果集:不要用count(*)来检查结果集中是否包含行。
(2).使用标准联接代替嵌套查询:在执行嵌套查询时,SQL server将先执行内部的子查询,然后将查询结果返回给外部查询的作为检索的数据源,最后执行外部的主查询。而在执行包含标准联接的查询时,SQL server将要执行的仅仅是一个查询。
(3).有效避免整表扫描,使用索引。
(4).在like子句的匹配条件的开始使用了%,若在like子句的匹配条件的开始使用了%,那么包含这个like分句的查询将会调用整表扫描。

4.这个..简单的select * from table 结果这个是根据不同数据库不同类型表而有所区别的,要分情况来说的,一般认为是记录在数据库里面的物理位置吧,不过这样答也不完全正确,表是分有索引和无索引的,不同类型在不同数据库也有不同的处理方法 .
如果一次查询出来多个数据集,那么可以减少对数据库的连接和查询(这是很耗时的)

那么如果你想要一次查询出多个数据集,如果这些数据集与检索出的一批数据相关,因此可能用临时表将那些ID抽出来,然后再根据这些ID查其他的记录。
这里需要临时表。
临时表一般存在tempdb里,不会有大问题的。

1.第一题
Inner Join 把两个表连接在一起,返回两个表中相匹配的记录