SQL数据库面试题 急急急
What are two methods of retrieving SQL?
What cursor type do you use to retrieve multiple recordsets?
What is the difference between a “where” clause and a “having” clause? - “Where” is a kind of restiriction statement. You use where clause to restrict all the data from DB.Where clause is using before result retrieving. But Having clause is using after retrieving the data.Having clause is a kind of filtering command.
What is the basic form of a SQL statement to read data out of a table? The basic form to read data out of table is ‘SELECT * FROM table_name; ‘ An answer: ‘SELECT * FROM table_name WHERE xyz= ‘whatever’;’ cannot be called basic form because of WHERE clause.
What structure can you implement for the database to speed up table reads? - Follow the rules of DB tuning we have to: 1] properly use indexes ( different types of indexes) 2] properly locate different DB objects across different tablespaces, files and so on.3] create a special space (tablespace) to locate some of the data with special datatype ( for example CLOB, LOB and …)
What are the tradeoffs with having indexes? - 1. Faster selects, slower updates. 2. Extra storage space to store indexes. Updates are slower because in addition to updating the table you have to update the index.
select a.id,a.pro1,b.pro2 from (select id,proname as pro1
from q where proid = 1) a inner join (select id,proname as pro2
from q where proid = 2) b on a.id=b.id其实有很多种方法的
from s left join p on s.pno=p.pno left join m on p.Mno=m.Mno
where m.city='上海市'
group by p.Pno,p.pname,p.city,p.color
b)、先删除Sale表的外键PNO,再删除gds表。
c)联系:视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系
区别:1、视图是已经编译好的sql语句。而表不是
2、视图没有实际的物理记录。而表有。
3、表是内容,视图是窗口
4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时四对它进行修改,但视图只能有创建的语句来修改
5、表是内模式,视图是外模式
6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。
7、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。
8、视图的建立和删除只影响视图本身,不影响对应的基本表。
select
*
from
学员表
left
outer
join
成绩表on
(学员ID=
成绩表的学员ID)
where
成绩
is
null
就这么一局就可以显示没有考试的学员,。如果想全部显示。而没有考试的学员成绩为null不要
where条件就好了
select
*
from
学员表
left
outer
join
成绩表on
学员ID=
成绩表的学员ID
初泡脑立: 指定学科查询: select Name from Student where Curricula ='指定学科'and mark >60 不指定学科,按照学科排序 select Curricula,Name from Student where mark >60order by Curricula 总分排名前三的学员名字: select top 3 name,sum(mark) from student group by 1 order by 2
仲巴县18692827874: sql面试题一道 - ?
初泡脑立: --1 查询各部门工资总和SELECT Department 部门名称,sum(CurrentSalary) 工资总和 FROM Office GROUP BY Department--2 查询1982年上半年出生的人SELECT Name 姓名,Birthday 生日 FROM Office WHERE Bi...
仲巴县18692827874: sql面试题 - ?
初泡脑立: 1、首先,将三个表建立一个视图,可以直接在企业管理器里面建,也可以将下面的代码直接复制到查询分析器里面执行:SELECT dbo.students.studentname, dbo.class.classname, dbo.score.course,dbo.score.score FROM dbo.class INNER ...
仲巴县18692827874: 面试题目(sql) - ?
初泡脑立: 我使用的是MySQL 如下语句:建表语句:create table Lessoninfo( no int,week int,isonduty char); 插入数据:略 insert into Lessoninfo values(...............) SQL查询语句:select no as '教师号', sum(week=1) as '星期一',sum(week=2) as '星期二'...
仲巴县18692827874: sql面试题目 - ?
初泡脑立: select 教师号 from 表 left join on (select 星期号 from 表 where 是否有课='有') 你这题给的我有点蒙啊,不过你这个意思我大概明白好像是要把没有课的日期给空出来,那肯定是要用左外连接的啊,从这个方向你在自己看看吧,实在看不明白你的题干数字的意思
仲巴县18692827874: SQL面试题 在线等 - ?
初泡脑立: select re.sid, max(case se.cname when '物理' then re.score else 0 end) '物理',max(case se.cname when '化学' then re.score else 0 end) '化学',max(case se...
仲巴县18692827874: sql面试题,请大神解答,急!!! - ?
初泡脑立: 第一题,最高的10-20.1234 select * from (select colD,colE,dense_rank() over(order by colG desc) as rk from tableb) where rk between 10 and 20 --当然面试的话这里可以注明 dense_rank 和 rank区别等等. 第二题,2楼写的就可以了 第三题,...
仲巴县18692827874: 面试题目 sql - ?
初泡脑立: select 教师号,sum(CASE 星期号 WHEN 1 THEN 1 ELSE 0 END) AS 星期号1, sum(CASE 星期号 WHEN 2 THEN 1 ELSE 0 END) AS 星期号2, sum(CASE 星期号 WHEN 3 THEN 1 ELSE 0 END) AS 星期号3 FROM 课程表 group by 教师号
仲巴县18692827874: 出个Sql面试题!!! - ?
初泡脑立: --总体情况 SELECT a.ID, COUNT(*) AS 总数,SUM(CASE b.STYLE WHEN 0 THEN 1 ELSE 0 END ) AS 过关数,SUM(CASE b.STYLE WHEN 1 THEN 1 ELSE 0 END ) AS 未过关数 from a, b where a.id = b.id group by a.id --筛选 select *,a.过关...
仲巴县18692827874: sql面试题?
初泡脑立: 1、忍不住想说一句,因为第一题中的字段类型是 【日期型】,而各种数据库操作日期型数据有不同的方法,没有一种共通的方法,所以脱离了数据库而言没有一种共通的sql. 2、select ID,NAME,ADDRESS,PHONE,LOGDATE from T where ID ...