还剩41页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
.张表,学生表课程学生课程表学生能够选修多门课程,一门课程能够被多个学生选1S,C,SC,修,通过表关联;SC SQL写出建表语句;1答建表语句如下数据库mysqlcreate tablesid integerprimary key,name varchar20;create tablecid integerprimary key,name varchar20;create tablescsid integerreferences sid,cid integerreferences cid,primary keysid,cid;写出语句,查询选修了所有选修课程的学生;2SQL答语句如下SQLselect stu.id,stu.name froms stuwhere select count*from sc where sid=stu.id=select count*from c;写出语句,查询选修了最少门以上的课程的学生3SQL5答语句如下SQLselect stu.id,stu.name froms stuwhere select count*from sc where sid=stu.id=5;,sumcase whens_id=2then p_num else0end ass2_id,sumcase whens_id=3then p_num else0endas s3_id frommyPro group by p_id为管理业务培训信息,建立个表7o3分别代表学号,学员姓名,所属单位,学员年龄SS#,SN,SD,SAS#,SN,SD,SA分别代表课程编号,课程名称CC#,CNC#,CN分别代表学号,所选的课程编号,学习成绩SCS#,C#,GS#,C#,G使用标准嵌套语句查询选修课程名称为‘税收基础的学员学号和姓名1SQL答案select s#,sn froms whereS#inselect S#from c,sc where c.c#=sc.c#and cn=税收基础使用标准嵌套语句查询选修课程编号为‘的学员姓名和所属单位2SQL C2答select sn,sd froms,sc wheres.s#=sc.s#and sc.c#=c2使用标准嵌套语句查询不选修课程编号为‘的学员姓名和所属单位3SQL C5答select sn,sd froms wheres#not inselect s#from sc where c#=c5查询选修了课程的学员人数4答select AS=countdistinct s#from sc查询选修课程超出门的学员学号和所属单位?55答select sn,sd froms wheres#inselect s#from scgroup bys#having countdistinctc#5面试题SQL
4.查询表中第至条统计,作为主键也许是不是连续增加的列,完整的查1AID,Name3140ID询语句如下select top10*from Awhere IDselect maxID from select top30ID from A orderby AT orderbyA.查询表中存在重复三次以上的统计,完整的查询语句如下2A IDselect*fromselect countIDas count from table group by IDT where T.count3面试题SQL
3.触发器的作用?1答触发器是一中特殊的存储过程,重要是通过事件来触发而被执行的它能够强化约束,来维护数据的完整性和一致性,能够跟踪数据库内的操作从而不允许未经许可的更新和变化能够联级运算如,某表上的触发器上包括对另一个表的数据操作,而该操作又会导致该表触发器被触发什么是存储过程?用什么来调用?2o答存储过程是一个预编译的语句,优点是允许模块化的设计,就是说只需创建一次,以SQL后在该程序中就能够调用数次假如某次操作需要执行数次使用存储过程比单纯语SQL,SQL句执行要快能够用一个命令对象来调用存储过程索引的作用?和它的优点缺陷是什么?3答索引就一个特殊的查询表,数据库的搜索引擎能够利用它加速对数据的检索它很类似与现实生活中书的目录,不需要查询整本书内容就能够找到想要的数据索引能够是唯一的,创建索引允许指定单个列或者是多个列缺陷是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小什么是内存泄漏?3o答一般我们所说的内存泄漏指的是堆内存的泄漏堆内存是程序从堆中为其分派的,大小任意的,使用完后要显示释放内存当应用程序用核心字等创建对象时,就从堆中为它分派new一块内存,使用完后程序调用或者释放该内存,否则就说该内存就不能被使用,我free delete们就说该内存被泄漏了维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为何?4o答我是这么做的,尽也许使用约束,如主键,外键,非空字段等来约束,这么做效率check,最高,也最以便其次是使用触发器,这种措施能够确保,无论什么业务系统访问数据库都能够确保数据的完整新和一致性最后考虑的是自写业务逻辑,但这么做麻烦,编程复杂,效率低下什么是事务?什么是锁?5o答事务就是被绑定在一起作为一个逻辑工作单元的语句分组,假如任何一个语句操作失SQL败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点为了确保要么执行,要么不执行,就能够使用事务要将有组语句作为事务考虑,就需要通过测试,ACID即原子性,一致性,隔离性和持久性锁在因此的中,锁是实现事务的核心,锁能够确保事务的完整性和并发性与现DBMS实生活中锁同样,它能够使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构当然锁还分级别的什么叫视图?游标是什么?6答视图是一个虚拟的表,具备和物理表相同的功效能够对视图进行增,改,查,操作,试图一般是有一个表或者多个表的行或列的子集对视图的修改不影响基本表它使得我们获取数据更轻易,相比多表查询游标是对查询出来的成果集作为一个单元来有效的处理游标能够定在该单元中的特定行,从成果集的目前行检索一行或多行能够对成果集目前行做修改一般不使用游标,不过需要逐条处理数据的时候,游标显得十分重要面试题()SQL5在面试应聘的数据库开发人员时,我利用了一套标准的基准技术问题下面这些问SQL Server题是我以为能够真正有利于裁减不合格应聘者的问题它们按照从易到难的次序排列当你问到有关主键和外键的问题时,背面的问题都十分有难度,因为答案也许会更难解释和阐明,尤其是在面试的情形下你能向我简明论述一下中使用的某些数据库对象吗?SQL Server你希望听到的答案包括这么某些对象:表格、视图、用户定义的函数,以及存储过程;假如他们还能够提到像触发器这么的对象就愈加好了假如应聘者不能回答这个基本的问题,那么这不是一个好兆头是什么意思?NULL(空)这个值是数据库世界里一个非常难缠的东西,因此有不少应聘者会在这个问题上跌NULL跟头您也不要以为意外这个值表示(未知):它不表示“”(空字符串)假设您的数NULL UNKNOWNSQL Server据库里有当然在默认情况下会有,对这个值的任何比较都会生产一个ANSLNULLS,NULL值您不能把任何值与一个值进行比较,并在逻辑上希望取得一个答案您NULL UNKNOWN必须使用操作符IS NULL什么是索引?里有什么类型的索引?SQL Server任何有经验的数据库开发人员都应当能够很轻易地回答这个问题某些经验不太多的开发人员能够回答这个问题,不过有些地方会说不清楚简单地说,索引是一个数据结构,用来迅速访问数据库表格或者视图里的数据在里,SQLServer它们有两种形式:聚集索引和非聚集索引聚集索引在索引的叶级保存数据这意味着无论聚集索引里有表格的哪个(或哪些)字段,这些字段都会按次序被保存在表格因为存在这种排序,因此每个表格只会有一个聚集索引非聚集索引在索引的叶级有一个行标识符这个行标识符是一个指向磁盘上数据的指针它允许每个表格有多个非聚集索引什么是主键什么是外键?主键是表格里的(一个或多个)字段,只用来定义表格里的行;主键里的值总是唯一的外键是一个用来建立两个表格之间关系的约束这种关系一般都包括一个表格里的主键字段与另外一个表格(尽管也许是同一个表格)里的一系列相连的字段那么这些相连的字段就是外键什么是触发器有什么不一样类型的触发器?SQL Server让将来的数据库开发人员懂得可用的触发器类型以及怎样实现它们是非常有益的触发器是一个专用类型的存储过程,它被捆绑到的表格或者视图上在SQL ServerSQL里,有和两种触发器触发器是替代数据操控语言Server INSTEAD-OF AFTERINSTEAD-OF()语句对表格执行语句的存储过程例如,假如我有一个用Data Manipulation Language,DML于的触发器,同时对这个表格执行一个更新语句,那么TableA INSTEAD-OF-UPDATE触发器里的代码会执行,而不是我执行的更新语句则不会执行操作INSTEAD-OF-UPDATE触发器要在语句在数据库里使用之后才执行这些类型的触发器对于监视发生在AFTER DML数据库表格里的数据变化十分好用您怎样确一个带有名为字段的表格里只具备字段里的那些值,而这些值同时Fldl TableBFldl在名为的表格的字段里?TableA Fldl这个与关系有关的问题有两个也许的答案第一个答案(并且是您希望听到的答案)是使用外键限制外键限制用来维护引用的完整性它被用来确保表格里的字段只保存有已经在不一样的(或者相同的)表格里的另一个字段里定义了的值这个字段就是候选键(一般是另外一个表格的主键)另外一个答案是触发器触发器能够被用来确保以另外一个方式实现与限制相同的作用,不过它非常难设置与维护,并且性能一般都很糟糕因为这个原因,微软提议开发人员使用外键限制而不是触发器来维护引用的完整性对一个投入使用的在线事务处理表格有过多索引需要有什么样的性能考虑?你正在寻找进行与数据操控有关的应聘人员对一个表格的索引越多,数据库引擎用来更新、插入或者删除数据所需要的时间就越多,因为在数据操控发生的时候索引也必须要维护你能够用什么来确保表格里的字段只接收特定范围里的值?这个问题能够用多个方式往返答,不过只有一个答案是“好”答案您希望听到的回答是Check限制,它在数据库表格里被定义,用来限制输入该列的值触发器也能够被用来限制数据库表格里的字段能够接收的值,不过这种措施要求触发器在表格里被定义,这也许会在某些情况下影响到性能因此,微软提议使用限制而不是其他的Check方式来限制域的完整性假如应聘者能够正确地回答这个问题,那么他的机会就非常大了,因为这表白他们具备使用存储过程的经验返回参数总是由存储过程返回,它用来表示存储过程是成功还是失败返回参数总是数据INT类型参数明确要求由开发人员来指定,它能够返回其他类型的数据,例如字符型和数值型OUTPUT的值(能够用作输出参数的数据类型是有某些限制的)您能够在一个存储过程里使用多个参数,而您只能够使用一个返回参数OUTPUT什么是有关子查询怎样使用这些查询?经验愈加丰富的开发人员将能够准确地描述这种类型的查询有关子查询是一个包括子查询的特殊类型的查询查询里包括的子查询会真正祈求外部查询的值,从而形成一个类似于循环的情况常见面试题受用了Sql用一条语句查询出每门课都不小于分的学生姓名
1.SQL80name kechengfenshu张三语文81张三数学75李四语文76李四数学90王五语文81王五数学100王五英语90A:select distinct name from table wherename notin select distinct name from table where fenshu=80select name from tablegroup byname havingminfenshu80学生表如下:自动编号学号姓名课程编号课程名称分数
2.张三数学1001000169李四数学2002000189张三数学3001000169删除除了自动编号不一样,其他都相同的学生冗余信息自动编号((自动编号)学号,A:delete tablenamewhere notin selectmin from tablename group by姓名,课程编号,课程名称,分数)一个叫的表,里面只有一个字段一共有条纪录,分别是对应四个球对,
3.team name,4a,b,c,d,目前四个球对进行比赛,用一条语句显示所有也许的比赛组合.sql你先按你自己的想法做一下,当作果有我的这个简单吗?答select a.name,b.namefrom teama,team bwhere a.nameb.name请用语句实现从数据表中查询出所有月份的发生额都比科目对应月份的
4.SQL TestDB101发生额高的科目请注意中有诸多科目,都有月份的发生额TestDB1—12科目代码,发生额月份,发生额AccID OccmonthDebitOccur数据库名:,数据集JcyAudit Select*from TestDB答select a.*.数据库表()结构如下()2Test SQL(所属主管人)IDNAMEAGEMANAGER ID106A30104109B19104104C1107D35109112E25120119F45NULL要求:列出所有年龄比所属主管年龄大的人的和名字?ID答语句如下SQLselect employee.namefromtest employeewhere employee.age()select manager.age fromtest managerwhere manager.id=employee.manager;.有个表(分钟)()3315SQL学生表(学号,姓名,性别,年龄,组织部门)Student课程表(编号,课程名称)Course选课表(学号,课程编号,成绩)Sc表结构如下)写一个语句,查询选修了计算机原理的学生学号和姓名(分钟)1SQL3答语句如下:SQLselect stu.sno,stu.sname from Student stufrom TestDB a,select Occmonth,maxDebitOccur DebitlOlccur from TestDB where AccID=40r group byOccmonth b where a.Occmonth=b.Occmonth anda.DebitOccurb.Debit101ccur■以■以■£**1**1*“,■[,■],*1**,1**1*-[,*1**],■[“■],*1*■£*■],1*-X*•[•♦[•*7*rT»•卜*
1、*1**7**7*♦卜•[•*1**Tw*
7、*7**T»•卜♦[•*7**
7、*T**T**7**T**
1、*T*•1••;•*7**
7、*7**T*■卜*1**Tw*
7、*T**T»•[、*1*♦[•*7**T*rTw*7**
7、*7**T*•[•*T**T**Tw♦[••[•*7**T**T**1*♦[•面试题怎么把这么一个表儿
5.year monthamount
199111.
1199121.
2199131.
3199141.
4199212.
1199222.
2199232.
3199242.4查成这么一个成果year mlm2m3m
419911.
11.
21.
31.
419922.
12.
22.
32.4答案
一、select amountfrom aaam wheremonth=1and m.year=aaa.year asml,select amountfrom aaam wheremonth=2and m.year=aaa.year asm2,select amountfrom aaam wheremonth=3and m.year=aaa.year asm3,select amountfrom aaam wheremonth=4and m.year=aaa.year asm4select year,from aaagroup byyear*.L»*1*•1**T**T**T**T**T**Tw*T**T**T**T**T**T**T**T**T**T*.阐明复制表只复制结构,源表名新表名6a b拷贝表结构和数据内容SQL:select*into bfrom a where11wherel=l,ORACLE:create tablebAsSelect*from a where1=2[不等于SQL ServerCompact比较两个体现式当使用此运算符比较非空体现式时,假如左操作数不等于右操作数,则成果为否则,成果为TRUEo FALSEo]阐明拷贝表(拷贝数据,源表名目标表名)
7.a bSQL:insert into ba,b,c selectd,e,f from a;.阐明显示文章、提交人和最后回复时间8SQL:select a.title,a.username,b.adddate fromtable a,select maxadddateadddate fromtable where二table.title a.title b阐明外连接查询(表名表名)
9.1a2bSQL:select a.a,a.b,a.c,b.c,b.d,b.f from a LEFTOUTER JOINb ONa.a=b.c ORACLEselect a.a,a.b,a.c,b.c,b.d,b.f froma,bwhere a.a=b.c+阐明日程安排提前五分钟提示
10.日程安排开始时间,())>SQL:select*from wheredatediffCminute^f getdate5阐明两张关联表,删除主表中已经在副表中没有的信息
11.SQL:Delete frominfo wherenot existsselect*from infobzwhere info.infid=infobz.infid*Tw«••]■*T»rT»■[••卜«•1**7**T**TwTw•1•.1*,7*
7.*7**TwrTweTw*!•*Tw*1*7w*1*rT■w,T,w■-】1•,**】1*,*1**1*•]•*7**TwrT*«.•I,*1■*!**7*、!**7**1**T■«•;••卜•卜•I、*7**1*■*17*、*1*\£r*Tw*Tw*«1•*«7•,[*.
7、**1T*w■r,Tw,•£T*w•卜*•T】*,**T!w**TwTwrTw•T〜w■«】•,*■1*】r“T*■1■,1•*1,*卜*1■*£*T\w],
7.*1■■rT»,;•卜■卜■*】7^,■[.*1*有两个表和,都有和两个字段,假如的在中也有,就把的
12.A B key valueB keyA Bvalue换为中对应的A value这道题的语句怎么写?SQLupdate b set b.value=select a.value fromawhere a.key=b.key whereb.id inselectb.id fromb,a whereb.key=a.key;si*rjwrj*rj**T**1**T*ri**T*rj*rj*rj*rjw*T**1**1**1**y*****1*rjwrj*rj*rj*rj*高级面试题
13.sql原表courseid coursenamescore1java702oracle903xml404jsp305servlet80为了便于阅读,查询此表后的成果显式如下(及格分数为)60:courseid coursenamescore mark1java70pass2oracle90pass3xml40fail4jsp30fail5servlet80pass写出此查询语句select courseid,coursename,score,decode signscore-60,-1/fail/pass*as markfrom course完全正确SQL desccourse_vName NullTypeCOURSEID NUMBERCOURSENAMEVARCHAR210SCORE NUMBERSQL select*from course_v;COURSEID COURSENAMESCORE1java702oracle903xml404jsp305servlet80SQLselect courseid,coursename,score,decodesignscore-60,-1/faif/pass1as markfrom course_v;COURSEID COURSENAMESCORE MARK1java70pass2oracle90pass3xml40fail4jsp30fail5servlet80pass面试题()SQL1create tabletesttablei(id intIDENTITY,()department varchar12)select*from testtable1(设计)(市场)insert intotesttablei valuesinsert intotesttable1valuesinsert intotesttable1values(售后)/*成果id department设计1市场2售后3*/create tabletesttable2id intIDENTITY,dptID int,name varchar12张三insert intotesttable2valuesl,‘,李四insert intotesttable2values王五insert intotesttable2values2,彭六insert intotesttabie2values©,陈七insert intotesttabie2values4,‘/*用一条语句,怎么显示如下成果SQLid dptIDdepartment name1设计张三1设计李四21市场王五32售后彭六43黑人陈七54*/答案SELECT testtable
2.*,ISNULLdepartment;H A1也做出来了可比这措施稍复FROM testtable1right jointesttable2on testtable
2.dptID=testtablei.ID杂面试题sql2有表结构如下A,A:p_ID p_Num s_id11001112022801311013803其中」为产品为产品库存量,为仓库请用语句实现将上表中的p DID,p_Num s_id IDSQL数据合并,合并后的数据为p_ID sl_id s2_id s3_id110120280031108其中为仓库的库存量,为仓库的库存量,为仓库的库存量假如该产sl_id1s2_id2s3_id3品在某仓库中无库存量,那么就是替代成果:select p_id,sumcase whens_id=1then p_num else0end assl_id,sumcase whens_id=2then p_num else0end ass2_id,sumcase whens_id=3then p_num else0end ass3_idfrom myProgroup byp_id面试题SQL
3.触发器的作用?1答触发器是一中特殊的存储过程,重要是通过事件来触发而被执行的它能够强化约束,来维护数据的完整性和一致性,能够跟踪数据库内的操作从而不允许未经许可的更新和变化能够联级运算如,某表上的触发器上包括对另一个表的数据操作,而该操作又会导致该表触发器被触发什么是存储过程?用什么来调用?2o答存储过程是一个预编译的语句,优点是允许模块化的设计,就是说只需创建一次,以SQL后在该程序中就能够调用数次假如某次操作需要执行数次使用存储过程比单纯语SQL,SQL句执行要快能够用一个命令对象来调用存储过程索引的作用?和它的优点缺陷是什么?3o答索引就一个特殊的查询表,数据库的搜索引擎能够利用它加速对数据的检索它很类似二whereselectcount*from scwhere sno=stu.sno andeno计算机原理select eno from Coursewhere cname=!=0;写一个语句,查询‘周星驰同学选修了的课程名字分钟2SQL3答语句如下SQLselect cnamefrom Coursewhere enoin selectenofrom scwhere sno=select snofromStudent周星驰;where sname=写一个语句,查询选修了门课程的学生学号和姓名分钟3SQL59答语句如下SQLselect stu.sno,stu.sname fromstudent stuwhereselectcount*from scwheresno=stu.sno=5;小小+霸霸+王王=小霸王小二,霸=,王二用求证sql参考答案declare@data int,@i int,@j int,@l int与现实生活中书的目录,不需要查询整本书内容就能够找到想set@data=100while@data=999要的数据索引能够是唯一的,创建索引允许指定单个列或者是多个列缺陷是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小什么是内存泄漏?3o答一般我们所说的内存泄漏指的是堆内存的泄漏堆内存是程序从堆中为其分派的,大小任意的,使用完后要显示释放内存当应用程序用核心字等创建对象时,就从堆中为它分派new一块内存,使用完后程序调用或者释放该内存,否则就说该内存就不能被使用,我free delete们就说该内存被泄漏了维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为何?4o答我是这么做的,尽也许使用约束,如主键,外键,非空字段等来约束,这么做效率check,最高,也最以便其次是使用触发器,这种措施能够确保,无论什么业务系统访问数据库都能够确保数据的完整新和一致性最后考虑的是自写业务逻辑,但这么做麻烦,编程复杂,效率低下什么是事务?什么是锁?5答事务就是被绑定在一起作为一个逻辑工作单元的语句分组,假如任何一个语句操作失SQL败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点为了确保要么执行,要么不执行,就能够使用事务要将有组语句作为事务考虑,就需要通过测试,即原子性,一致性,隔离性和持久性ACID锁在因此的中,锁是实现事务的核心,锁能够确保事务的完整性和并发性DBMS与现实生活中锁同样,它能够使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构当然锁还分级别的什么叫视图?游标是什么?6o答视图是一个虚拟的表,具备和物理表相同的功效能够对视图进行增,改,查,操作,试图一般是有一个表或者多个表的行或列的子集对视图的修改不影响基本表它使得我们获取数据更轻易,相比多表查询游标是对查询出来的成果集作为一个单元来有效的处理游标能够定在该单元中的特定行,从成果集的目前行检索一行或多行能够对成果集目前行做修改一般不使用游标,不过需要逐条处理数据的时候,游标显得十分重要为管理业务培训信息,建立个表7o3分别代表学号,学员姓名,所属单位,学员年龄SS#,SN,SD,SAS#,SN,SD,SA分别代表课程编号,课程名称CC#,CNC#,CN分别代表学号,所选的课程编号,学习成绩SCS#,C#,GS#,C#,G使用标准嵌套语句查询选修课程名称为‘税收基础的学员学号和姓名?1SQL答案selects#,sn froms whereS#inselect S#from c,scwherec.c#=sc.c#and cn=税收基础使用标准嵌套语句查询选修课程编号为‘的学员姓名和所属单位?2SQL C2答select sn,sd froms,scwheres.s#=sc.s#and sc.c#=c2使用标准嵌套语句查询不选修课程编号为‘的学员姓名和所属单位?3SQL C5答select sn,sd froms wheres#not inselect s#from scwherec#=c5查询选修了课程的学员人数4答学员人数=日出$丘戊select81111s#from sc查询选修课程超出门的学员学号和所属单位?55答select sn,sd froms wheres#inselects#fromscgroup bys#having countdistinctc#5面试题SQL
4.查询表中第至条统计,作为主键也许是不是连续增加的列,完整的查1AID,Name3140ID询语句如下selecttop10*fromAwhere IDselect maxIDfrom selecttop30IDfromA orderby AT orderbyA.查询表中存在重复三次以上的统计,完整的查询语句如下:2A IDselect*fromselect countIDas countfromtablegroup by IDTwhere T.count3面试题()SQL5在面试应聘的数据库开发人员时,我利用了一套标准的基准技术问题下面这些问SQL Server题是我以为能够真正有利于裁减不合格应聘者的问题它们按照从易到难的次序排列当你问到有关主键和外键的问题时,背面的问题都十分有难度,因为答案也许会更难解释和阐明,尤其是在面试的情形下你能向我简明论述一下中使用的某些数据库对象吗?SQL Server你希望听到的答案包括这么某些对象:表格、视图、用户定义的函数,以及存储过程;假如他们还能够提到像触发器这么的对象就愈加好了假如应聘者不能回答这个基本的问题,那么这不是一个好兆头是什么意思?NULL(空)这个值是数据库世界里一个非常难缠的东西,因此有不少应聘者会在这个问题上跌NULL跟头您也不要以为意外这个值表示(未知):它不表示“”(空字符串)假设您的数NULL UNKNOWNSQL Server据库里有当然在默认情况下会有,对这个值的任何比较都会生产一个ANSLNULLS,NULL值您不能把任何值与一个值进行比较,并在逻辑上希望取得一个答案NULL UNKNOWN您必须使用操作符IS NULL什么是索引?里有什么类型的索弓SQL ServerI任何有经验的数据库开发人员都应当能够很轻易地回答这个问题某些经验不太多的开发人员能够回答这个问题,不过有些地方会说不清楚简单地说,索引是一个数据结构,用来迅速访问数据库表格或者视图里的数据在里,SQLServer它们有两种形式:聚集索引和非聚集索引聚集索引在索引的叶级保存数据这意味着无论聚集索引里有表格的哪个(或哪些)字段,这些字段都会按次序被保存在表格因为存在这种排序,因此每个表格只会有一个聚集索引非聚集索引在索引的叶级有一个行标识符这个行标识符是一个指向磁盘上数据的指针它允许每个表格有多个非聚集索引什么是主键什么是外键?主键是表格里的(一个或多个)字段,只用来定义表格里的行;主键里的值总是唯一的外键是一个用来建立两个表格之间关系的约束这种关系一般都包括一个表格里的主键字段与另外一个表格(尽管也许是同一个表格)里的一系列相连的字段那么这些相连的字段就是外键什么是触发器有什么不一样类型的触发器?SQL Server让将来的数据库开发人员懂得可用的触发器类型以及怎样实现它们是非常有益的触发器是一个专用类型的存储过程,它被捆绑到的表格或者视图上在SQL ServerSQL Server里,有和两种触发器触发器是替代数据操控(INSTEAD-OF AFTERINSTEAD-OF inB Data)语句对表格执行语句的存储过程例如,假如我有一个用于ManipulationLanguage,DML TableA的触发器,同时对这个表格执行一个更新语句,那么INSTEAD-OF-UPDATE触发器里的代码会执行,而不是我执行的更新语句则不会执行操作INSTEAD-OF-UPDATE触发器要在语句在数据库里使用之后才执行这些类型的触发器对于监视发生在AFTER DML数据库表格里的数据变化十分好用您怎样确一个带有名为字段的表格里只具备字段里的那些值,而这些值同时Fldl TableBFkll在名为的表格的字段里?TableA Fldl这个与关系有关的问题有两个也许的答案第一个答案(并且是您希望听到的答案)是使用外键限制外键限制用来维护引用的完整性它被用来确保表格里的字段只保存有已经在不一样的(或者相同的)表格里的另一个字段里定义了的值这个字段就是候选键(一般是另外一个表格的主键)另外一个答案是触发器触发器能够被用来确保以另外一个方式实现与限制相同的作用,不过它非常难设置与维护,并且性能一般都很糟糕因为这个原因,微软提议开发人员使用外键限制而不是触发器来维护引用的完整性对一个投入使用的在线事务处理表格有过多索引需要有什么样的性能考虑?你正在寻找进行与数据操控有关的应聘人员对一个表格的索引越多,数据库引擎用来更新、插入或者删除数据所需要的时间就越多,因为在数据操控发生的时候索引也必须要维护你能够用什么来确保表格里的字段只接收特定范围里的值这个问题能够用多个方式往返答,不过只有一个答案是“好”答案您希望听到的回答是Check限制,它在数据库表格里被定义,用来限制输入该列的值触发器也能够被用来限制数据库表格里的字段能够接收的值,不过这种措施要求触发器在表格里被定义,这也许会在某些情况下影响到性能因此,微软提议使用限制而不是其他的Check方式来限制域的完整性假如应聘者能够正确地回答这个问题,那么他的机会就非常大了,因为这表白他们具备使用存储过程的经验返回参数总是由存储过程返回,它用来表示存储过程是成功还是失败返回参数总是数据INT类型参数明确要求由开发人员来指定,它能够返回其他类型的数据,例如字符型和数值型OUTPUT的值(能够用作输出参数的数据类型是有某些限制的)您能够在一个存储过程里使用多个参数,而您只能够使用一个返回参数OUTPUT什么是有关子查询怎样使用这些查询?经验愈加丰富的开发人员将能够准确地描述这种类型的查询有关子查询是一个包括子查询的特殊类型的查询查询里包括的子查询会真正祈求外部查询的值,从而形成一个类似于循环的情况面试题()SQL6原表courseid coursenamescore1java702oracle903xml404jsp305servlet80为了便于阅读,查询此表后的成果显式如下(及格分数为)60:courseid coursenamescore mark1java70pass2oracle90pass3xml40fail4jsp30fail5servlet80pass写出此查询语句ORACLE:select courseid,coursename,score,decode signscore-60,-1/faif/pass as mark fromcourse函数是是功效强大的函数之一,目前还只有企业的DECODE ORACLEPL/SQL ORACLE提供了此函数SQLSQL:select courseid,coursename,score,case whenscore60then failelse passend asmark fromcourse.一道语句面试题,有关1SQL group by表内容:-05-09-05-09-05-09-05-09-05-10-05-10-05-10假如要生成下列成果,该怎样写语句sql-05-0922-05-1012create table#tmprq varchar10,shengfu nchar1月生insert into#tmp values-05-09insert into#tmp values,-05-09,,1M,负insert into#tmp values-05-09;负insert into#tmp values-05-09月生insert into#tmp values-05-107负insert into#tmp values-05-10负insert into#tmp values-05-10,月生讶生负lselect rq,sumcase whenshengfu=then1else0end:sumcase whenshsngfu=then1负else0end from#tmp group by rq2select N.rq,N.K,M.M from月生select rq,^=count*from#tmp whereshengfu=group byrqN innerjoin负select rq,M=count*from#tmp whereshengfu=groupbyrqM onN.rq=M.rq胜负3select a.col001,a.al,b.bl from月生select colOO1,countcol001al fromtempi wherecol002=groupbycolOOl a,select colOO「负1,countcol001bl fromtempi wherecol002=groupbycolOO1bbeginset@i=@data/100set@j=@data/10%10set@l=@data%10if@i+@j+@l*ll=@databeginSelect@data data,@i i,@j j,@l1breakendset@data=@data+lend;分析n+JJ+LL=IJLI*10+1+J*10+J+L*10+L=I*100+J*10+LI+J+L*ll用一条语句查询出每门课都不小于分的学生姓名
1.SQL80wherea.col001=b.col
001.请教一个面试中遇到的语句的查问询题2SQL表中有三列用语句实现当列不小于列时选择列否则选择歹当列不小ABC SQLA BA BU,B于列时选择列否则选择歹!]C BCselect case when abthen aelse bend,case whenbc then b eslec endfromtable_name.面试题一个日期判断的语句?3sql请取出表中日期字段为当日的所有统计字段为型,tb_send SendTimeSendTime datetime包括日期与时间select*from tbwhere datediffdd,SendTime,getdate=O.有一张表,里面有个字段语文,数学,英语其中有条统计分别表示语文分,43370数学分,英语分,请用一条语句查询出这三条统计并按如下条件显示出来并写出您8058sql的思绪不小于或等于表示优秀,不小于或等于表示及格,小于分表示不及格806060显示格式语文数学英语及格优秀不及格select(语文>优秀,case when=80then语文>及格,when=60then不及格)语文,elseas(数学>优秀,case when=80then数学>及格,when=60then不及格)数学,elseas(英语>优秀,case when=80then英语>,及格,when=60then不及格)英语,elseasfrom table.在中请用创建一张用户暂时表和系统暂时表,里面包括两个字段和5sqlserver sqlID类型都是型,并解释下二者的区分?IDValues,int用户暂时表:create table#xxID int,IDValues int系统暂时表:create table##xxID int,IDValues int区分用户暂时表只对创建这个表的用户的可见,对其他进程是不可见的.Session当创建它的进程消失时这个暂时表就自动删除.全局暂时表对整个实例都可见,不过所有访问它的都消失的时候,它也自动SQL ServerSession删除.是一个大型数据库,他的存储容量只受存储介质的限制,请问它是通过什么方式实
6.sqlserver现这种无限容量机制的它的所有数据都存储在数据文献中因此只要文献够大,的存储容量是能够扩*.dbf,SQL Server大的.数据库有三种类型的文献SQL Server重要数据文献重要数据文献是数据库的起点,指向数据库中文献的其他部分每个数据库都有一个重要数据文献重要数据文献的推荐文献扩展名是.mdfo次要数据文献次要数据文献包括除重要数据文献外的所有数据文献有些数据库也许没有次要数据文献,而有些数据库则有多个次要数据文献次要数据文献的推荐文献扩展名是.ndfo日志文献日志文献包括恢复数据库所需的所有日志信息每个数据库必须最少有一个日志文献,但能够不止一个日志文献的推荐文献扩展名是Jdfo,请用一个语句得出成果7sql从中取出如所列格式数据,注意提供的数据及成果不准确,只是作为一tablel,table2table3个格式向大家请教如使用存储过程也能够table1月份部门业绩mon depyj一月份0110一月份0210一月份035二月份028二月份049三月份038table2部门部门名称dep dname国内业务一部01国内业务二部02国内业务三部03国际业务部04table3result部门一月份二月份三月份dep0110null null02108null03null5804null null9二月份,sumcase whenb.mon=2then b.yj else0end as三月份,sumcase whenb.mon=3then b.yj else0end as,四月份,sumcase whenb.mon=4then b.yj else0end as五月份sumcase whenb.mon=5then b.yj else0end as六月份,sumcase whenb.mon=6then b.yj else0end as七月份sumcase whenb.mon=7then b.yj else0end as八月份sumcase whenb.mon=8then b.yj else0end as九月份;sumcase whenb.mon=9then b.yj else0end as十月份,sumcase whenb.mon=10then b.yj else0end as月份,sumcase whenb.mon=ll thenb.yj else0end asH,十二月份,sumcase whenb.mon=12thenb.yj else0end asfromtable2a leftjoin table1b ona.dep=b.dep.华为一道面试题8一个表中的有多个统计,把所有这个的统计查出来,并显示共有多少条统计数Id idselectid,Count*from tbgroupbyid havingcount*l select*fromselect countIDascountfromtable groupbyIDTwhereT.countlname kechengfenshu张三语文81张三数学75李四语文76李四数学90王五语文81王五数学100王五英语90A:selectdistinctnamefromtablewherename notin selectdistinctnamefromtablewherefenshu=80B:select namefromtablegroupbyname havingminfenshu80一个叫的表,里面只有一个字段一共有条纪录,分别是对应四个球对,
2.depart team,4a,b,c,d,目前四个球对进行比赛,用一条语句显示所有也许的比赛组合.sql你先按你自己的想法做一下,当作果有我的这个简单吗?create tabledepartteam varchar50not null答select a.team,b.team fromdepart a,depart bwherea.teamb.team请用语句实现从数据表中查询出所有月份的发生额都比科目对应月
3.SQL TestDB101份的发生额高的科目请注意中有诸多科目,都有月份的发生额TestDB1—12科目代码,发生额月份,发生额AccID OccmonthDebitOccur数据库名:数据集JcyAudit,Select*from TestDB答:select a.*fromTestDBa()/select Occmonth,max DebitOccurDebitlOlccurfromTestDBwhereAccID=101groupby)Occmonth bwherea.Occmonth=b.Occmonth anda.DebitOccurb.Debit101ccur.阐明复制表(只复制结构,源表名新表名)4a b(拷贝表结构和数据内容)SQL:select*intobfromawhere11where1=1,ORACLE:create tablebAsSelect*fromawhere1=2[不等于SQL ServerCompact比较两个体现式当使用此运算符比较非空体现式时,假如左操作数不等于右操作数,则成果为否则,成果为TRUEo FALSEo].阐明拷贝表(拷贝数据,源表名目标表名)5a bSQL:insert intoba,b,c selectd,e,f froma;.阐明两张关联表,删除主表中已经在副表中没有的信息6SQL:Delete frominfo wherenot existsselect*from infobzwhere info.infid=infobz.infid.有两个表和,都有和两个字段,假如的在中也有,就把的7A Bkey valueBkeyA B换为中对应的这道题的语句怎么写?value Avalue SQLupdatebsetb.value=select a.value fromawherea.key=b.key whereb.id inselectb.id fromb,a whereb.key=a.key;.为了便于阅读,查询此表后的成果显式如下(及格分数为)860:courseid coursenamescore mark1java70pass2oracle90pass3xml40fail4jsp30fail5servlet80pass写出此查询语句selectcourseid,coursename,score,decode signscore-60,-1/fail/pass*asmarkfrom course,貌似在我的里无法识别,可用如下措施替代decode SQLSERVERselectcourseid,coursename,score,casewhenscore-60=0then passelse fail*end asmarkfrom course7,7,7,*1**1*y,7,7,7,7,7,7,7,7,*1**!7,*1*7,*1**1**1**1*7,*1**1**1**1**1*7,*1**1**1**!7,*1**1**1**1*7,7,7,7,7,7,*1**1**1**1*7,7,7,*1*q、q、r1*〃、〃、“、〃、〃、q、rj*〃、
4、〃、〃、〃、“、*2**4*〃、q、q、〃、〃、
4、〃、q、〃、〃、〃、q、〃、〃、q、〃、
4、〃、•卜♦[•\♦![*••*・、1*•;*■1*•卜•卜♦卜♦卜■1•,*■*X*,;■、!*•卜*•11*•*•卜1**1**1*■!*■!*面试题()sql2有表结构如下A,A:p_ID p_Num s_id11001112022801311013803其中」为产品为产品库存量,为仓库请用语句实现将上表中的p DID,p_Num s_id IDSQL数据合并,合并后的数据为p_ID sljds2_id s3_id110120280031108其中为仓库的库存量,为仓库的库存量,为仓库的库存量假如该产sl_id1s2_id2s3_id3品在某仓库中无库存量,那么就是替代0成果select p_id,1部门名称业绩一月份业绩二月份;业绩三月份select a.dname,b.yj as,c.yj asd.yj asfromtable1a,table2b,table2c,table2d部门部门月份二一月份wherea.dep=b.dep andb.mon and部门部门月份=二月份a.dep=c.dep andc.mon and部门部门月份=三月份,a.dep=d.dep andd.mon and212一月份select a.dep,sumcase whenb.mon=l thenb.yj else0end as。
个人认证
优秀文档
获得点赞 0