SQL脚本创建级联_【新年跳槽必备】2020最新(EF/Sql专题)面试题 速领!
今天是周五啦
聽說上期的面試題,有小伙伴覺得做得不過癮??
Richard老師!
又幫大家整理面試題了一波
這次是 EF/Sql專題
足足40道題~~
話不多說,直接看題。
第一部分 簡答題
1、列舉出你知道的ORM框架?
2、描述EF的幾種開發模式。
3、如何如何獲取EF生成的Sql腳本?
4、請說明在哪些類型額項目中你會選擇EF? 為什么?
5、請說明EF中映射實體對象的幾種狀態?
6、請說明在EF中生成的映射實體中有哪些驗證特性?
7、如果實體名稱和數據庫表名不一致,該如何處理?
8、請說明使用EF如何實現級聯刪除?
9、什么叫做SQL注入,如何防止?請舉例說明。
10、?淺談EF的延遲加載。
第二部分 選擇題
1.在SQL Server中,( )語句是用來創建表的。??(選擇一項)
A:CREATE TABLE 表名
B:DROP TABLE 表名
C:ALTER TABLE 表名
D:DELETE TABLE 表名
2.在SQL Server中,以下用于更改數據庫名稱的存儲過程是( )。(選擇一項)
A:sp_renamedatabase
B:sp_alterdb
C:sp_renamedb
D:sp_helpdb
3.在SQL Server中,關于視圖的說法不正確的是( )。??(選擇一項)
A:視圖是一種虛擬表,通常是作為執行查詢的結果而創建的
B:使用CREATE VIEW語句創建視圖
C:使用SELECT語句查看視圖的查詢結果
D:定義視圖的查詢可以基于一個或多個表,但不可以基于其他視圖
4.在SQL Server中,下面( )語句用于提交事務。??(選擇一項)
A:COMMIT TRANSACTION
B:BEGIN TRANSACTION
C:ROLLBACK TRANSACTION
D:SAVE TRANSACTION
5.在SQL Server中,關于存儲過程的說法不正確的是( )。(選擇一項)
A:存儲過程一般分為系統存儲過程、擴展存儲過程和用戶自定義存儲過程
B:存儲過程是在數據庫管理系統中保存的、預先編譯的并能實現某種功能的SQL程序
C:存儲過程幫助實現了模塊化編程
D:用戶在創建自定義存儲過程后不能再被修改
6.在SQL Server中,使用if...else語句時,( )可以作為條件表達式。(選擇一項)
A:true
B:false
C:1>0
D:1==1
7.關于SQL Server中的視圖,以下說法錯誤的是( )。??(選擇一項)
A:視圖是一種虛擬的表,通常是作為執行查詢的結果而創建的
B:視圖充當著對查詢中指定的表的篩選器
C:更改視圖中的數據,原始表中的數據不會隨之更改
D:視圖的結構和數據是建立在對表的查詢基礎上的
8.如下圖所示,查詢參加考試學員的姓名、學號、家庭地址,其中錯誤的T-SQL語句為( )。??(選擇一項)
A:select stuname as 姓名,stuInfo.stuId as 學號,stuaddress as 家庭地址from stuInfo inner join stuMarks on stuInfo.stuId=stuMarks.stuId
B:select stuname as 姓名,stuMarks.stuId as 學號,stuaddress as 家庭地址from stuMarks left join stuInfo on stuMarks.stuId=stuInfo.stuId
C:select stuname as 姓名,stuid as 學號,stuaddress as 家庭地址from stuInfo where stuid in (select * from stuMarks)
D:select stuname as 姓名,stuMarks.stuId as 學號,stuaddress as 家庭地址from stuInfo right join stuMarks on stuMarks.stuId=stuInfo.stuId
9.SQL SERVER中,在繪制E-R圖時,菱形和橢圓分別表示( )。??(選擇一項)
A:屬性、實體
B:實體、關系集
C:關系集、屬性
D:實體、屬性
10.在T-SQL中給變量賦值可以用( )。??(選擇一項)
A:給局部變量賦值用set,給全局變量賦值用select
B:給局部變量賦值用set或select,不能給全局變量賦值
C:給局部變量賦值用select,給全局變量賦值用set
D:給局部變量賦值用set或select,給全局變量賦值用系統存儲過程sp_setvalue
11.在SQL Server中,下列關于索引的描述錯誤的是( )。(選擇一項)
A:一張表中主鍵索引最多只能有一個
B:一張表中可以有多個非聚集索引
C:應該在字節數大的列上建立索引
D:索引應該創建在經常用作查詢的列
·?
12.在SQL Server中,索引是在基本表的列上建立的一種數據庫對象,它同基本表分開存儲,使用它能夠加快數據的( )速度。??(選擇一項)
A:插入
B:修改
C:查詢
D:刪除
13.下面所示的T-SQL語句使用內連接實現多表查詢,查詢返回多行數據:SELECT SName FORM Students INNER JOIN Score on Students.SCode = ??????Score.StudentID ?WHERE Score>=60選項中可以替換上述語句實現該查詢的語句是( )。??(選擇一項)
A:SELECT SName from StudentsWHERE SCode = (SELECT StudentID from Score ?WHERE Score>=60)
B:SELECT SName from StudentsWHERE SCode IN (SELECT StudentID from Score WHERE Score>=60)
C:SELECT SName from Students WHERE SCode NOT IN (SELECT StudentID from Score WHERE Score<60)
D:SELECT SName from Students WHERE SCode != (SELECT StudentID from Score WHERE Score<60)
14.在SQL Server中,執行下面存儲過程,語句正確的是( )。create proc proc_score(@stuId char(10),@score int output)asselect @score=score from scorewhere stuId=@stuIdgo??(選擇一項)
A:exec proc_score '2011001',output
B:declare @score int exec proc_score ‘2011001',@score
·?
C:declare @score int exec proc_score ‘2011001',@score output
D:declare @score int exec proc_score @score output ,'2011001'
·?
15.SQL Server中,在繪制E-R圖時,( )表示關系。??(選擇一項)
A:橢圓
B:矩形
C:菱形
D:多邊形
16.在SQL Server 數據庫,數據庫系統中的編程語言是T-SQL,T-SQL語言中用于顯示處理的數據結果的輸出語句有兩種,它們的語法分別是( )。??(選擇二項)
A:put 局部變量或字符串
B:print 局部變量或字符串
C:SELECT 局部變量 AS 自定義列名
D:SELECT 局部變量 FOR 自定義列名
17.在SQL Server中,以下關于數據庫設計范式的描述中,錯誤的是( )。??(選擇一項)
A:第一范式的目標是確保每列的原子性
B:數據庫如果滿足第三范式,則肯定滿足第二范式
C:三大范式是用來幫助數據庫設計者設計結構良好的數據庫
D:設計數據庫時,滿足的范式級別越高,系統性能越好
18.在SQL Server 數據庫中,對存儲過程的描述錯誤的是( )。??(選擇一項)
A:存儲過程可以重復調用
B:存儲過程是自動執行的
C:存儲過程是SQL語句的預編譯集合
D:存儲過程比一般SQL語句執行速度更快
20.在SQL Server中有一個存儲圖書基本信息的表book,其中有書名bookName、價格price、作者author等字段,下面代碼是查詢出價格比圖書 “Flash開發”高的圖書信息,橫線處應填寫的代碼是( )。(選擇一項)
?declare @avgPrice numeric________________________________________________select * from book where price>@avgPricego??(選擇一項)
A:select @avgPrice =avg(price) ?from book
B:select @avgPrice=price from book where bookName like '%FLash開發%'
C:select @avgPrice=price from book where bookName='FLash開發'
D:select @avgPrice as price from book where bookName like '%FLash開發%'
·?
20.在SQL Server中,有關下列語句的實際功能,描述正確的是( )。(選擇兩項)
?WHILE EXISTS(SELECT examResult FROM Result WHERE examResult <60)BEGIN UPDATE Result SET examResult = examResult +5IF (SELECT MAX(examResult) FROM Result)>=90BREAKELSECONTINUEEND??(選擇二項)
A:當有考試成績不到60分時,循環加分
B:當成績平均分不到60分時,循環加分
C:當最高分大于等于90時,停止加分
D:以上都是錯的
21.在SQL Server中,關于子查詢描述錯誤的是( )。??(選擇一項)
A:相對于表連接,子查詢更適合于作為查詢的篩選條件
B:使用EXISTS關鍵字引入一個子查詢,子查詢產生查詢結果集
C:使用IN子查詢返回的查詢結果是一列零值或更多值。子查詢返回結果后,外部查詢可以使用這些查詢結果
D:子查詢可由一個比較運算符引入。比較運算符可以是=、<>、>、=、<=等
22.在SQL Server中,給定如下SQL代碼,執行結果為( ?)。INSERT INTO student (StudentID,StudentName,Age,ClassID) VALUES(227,'馬達',23,3)DECLARE @age INTDECLARE @cid INTWHILE(1=1)??BEGIN????SELECT @age=Age,@cid=ClassID FROM student ????WHERE StudentName='馬達'????IF(@age<24 and @cid<>2)??????BEGIN????????UPDATE student SET ClassID=2 WHERE StudentName='馬達'??????????SELECT @cid=ClassID FROM student ??WHERE StudentName='馬達'??????END????ELSE??????BREAK??ENDPRINT '姓名:馬達 年齡:'+LTRIM(STR(@age))+' ?班級:'+LITRIM(STR(@cid))??(選擇一項)
A:姓名:馬達 年齡:23 班級:3
B:姓名:馬達 年齡:23 班級:2
C:姓名:馬達 年齡:3 班級:2
D:姓名:馬達 年齡:2 班級:3
23.在SQL Server中,( )包含了一組數據庫操作命令,并且所有的命令作為一個整體一起向系統提交或撤銷操作請求。??(選擇一項)
A:事務
B:視圖
C:索引
D:子查詢
24.在SQL Server中,變量@avg為一個整型變量,其中下列數據類型轉換錯誤的是( )。??(選擇一項)
A:Convert(varchar(20),@avg)
B:Cast(@avg as varchar(20))
C:Convert(nvarchar(20),@avg,100)
D:Cast(varchar(20) as @avg,100)
25.在SQL SERVER中,關于聚集索引和非聚集索引的區別有( )。(選擇二項)
A:一個表可以有多個非聚集索引,但只能有一個聚集索引
B:聚集索引的查詢速度要比非聚集索引速度快
C:在建立聚集索引的列上不允許有重復的值
D:非聚集索引的查詢速度要比聚集索引速度快
26.在進行數據庫設計時,設計者應當按照數據庫的設計范式進行數據庫設計。以下關于三大范式說法錯誤的是( )。??(選擇一項)
A:第一范式的目標是確保每列的原子性
B:第三范式在第二范式的基礎上,確保表中的每行都和主鍵相關
C:第二范式在第一范式的基礎上,確保表中的每列都和主鍵相關
D:第三范式在第二范式的基礎上,確保表中的每列都和主鍵直接相關,而不是間接相關
27.在SQL Server中,執行以下存儲過程,語句正確的是( )。CREATE PROC proc_student (@stuID INT,@sex BIT OUTPUT) AS ???SELECT @sex=sex FROM student WHERE stuID=@stuID??(選擇一項)
A:DECLARE @sex BIT EXEC proc_student OUTPUT @sex,1
B:DECLARE @sex BIT EXEC proc_student @sex OUTPUT,1
C:DECLARE @sex BIT EXEC proc_student 1,OUTPUT @sex
D:DECLARE @sex BIT EXEC proc_student 1,@sex OUTPUT
28.SQL SERVER數據庫中,運行如下代碼,輸出結果為( )。CREATE PROCEDURE test@m VARCHAR(20)=nullASif @m = null??BEGIN????print 'A'????return??ENDif @m is null??BEGIN????print 'B'??ENDselect * from sysobjects where name=@mGOEXEC test??(選擇一項)
A:A
B:B并顯示空的表sysobject的記錄集
C:A并顯示空的表sysobject的記錄集
D:B
29.以下T-SQL代碼,說法不正確的是( )。SELECT 學號 = StudentNo, 成績 =?CASE ????????WHEN StudentResult < 60 THEN 'E'???????WHEN StudentResult BETWEEN 60 AND 69 THEN 'D'???????WHEN StudentResult BETWEEN 70 AND 79 THEN 'C'???????WHEN StudentResult BETWEEN 80 AND 89 THEN 'B'???????WHEN ELSE 'A'FROM Result??(選擇二項)
A:ELSE前面不用寫WHEN
B:缺少END關鍵字
C:在每一個WHEN的條件表達式后面缺少逗號
D:缺少break關鍵字
30.在SQL Server中,下列關于索引的描述錯誤的是( )。??(選擇一項)
A:一張表中主鍵索引最多只能有一個
B:一張表中可以有多個非聚集索引
C:聚集索引和主鍵索引必須同時存在
D:一般會給經常用作查詢的列建立索引
31.在SQL Server中,當查詢某種型號的手機的詳細信息時,下劃線處應填寫( )。SELECT * FROM mobilePhone WHERE phoneNo ?___ (此處為返回多個phoneNo的SQL語句)(選擇一項)
A:IN
B:LIKE
C:=
D:>=
32.關于SQL Server中的事務,以下說法錯誤的是( )。(選擇一項)
A:事務中的所有元素必須作為一個整體提交或回滾
B:對數據進行修改的所有并發事務是彼此隔離的,這表明事務必須是獨立的,它不應以任何方式依賴于或影響其他事務
C:SQL Server中不能使用事務日志保存受到故障影響的事務
D:當事務成功完成時,數據必須再次回到已知的一致狀態
33.在SQL Server中,下面的( )語句是正確的。(選擇一項)
A:CREATE VIEW view1AS???SELECT * INTO #S1 FROM DEPTGO
B:CREATE VIEW view1AS???SELECT * FROM DEPT ORDER BY DEPTIDGO
C:CREATE VIEW view1AS???SELECT TOP 5 * FROM DEPT ORDER BY DEPTIDGO
D:CREATE VIEW view1ASDECLARE did intSET @did=10SELECT ?* ?FROM DEPT WHERE DEPTID =@didGO
34.在SQL Server中,以下關于視圖描述錯誤的是( )。(選擇兩項)
A:定義視圖的查詢可以基于一個或多個表
B:定義視圖的查詢不可以基于其它視圖
C:視圖通常在查詢數據時使用
D:視圖一旦被刪除,視圖中的數據也同時被刪除。
35.在SQL Server中,關于變量描述,不正確的是( )。(選擇一項)
A:變量可分為全局變量和局部變量兩大類
B:全局變量是由系統提供且預先聲明,通過在名稱前加兩個“@”符號區別于局部變量
C:不能使用SELECT語句給變量賦值
D:可使用DECLARE語句聲明局部變量
36.在SQL Server中,下面選項可以正確實現對變量賦值的是( )。(選擇兩項)
A:declare @name char(10)set @name='小強'
B:declare @age int(4)
select @age=18
C:declare @sex bitset @sex=0
D:declare @money money(4)set @money=4
37.在SQL SERVER中,關于用戶定義的存儲過程說法正確的是( )。(選擇一項)
A:使用create procedure語句來創建存儲過程
B:存儲過程必須帶參數
C:存儲過程如果有輸入參數,則輸入參數不能設置默認值
D:存儲過程可以沒有輸出參數,但是必須有輸入參數
38.在SQL SERVER中,圖書信息表Book中有圖書編號id、書名BookName、價格BookPrice、出版日期Tdate等字段,關于下面的代碼說法正確的是( )。(選擇一項)
?declare @avgPrice floatselect @avgPrice=AVG(BookPrice) from Book if(@avgPrice>80)???begin??????select top 10 * from Book order by BookPrice desc???endelse???begin??????select top 10 * from Book order by BookPrice asc???end
A:如果圖書的平均價格高于80,則查出價格最高的10本圖書信息
B:如果圖書的平均價格高于80,則查出價格最低的10本圖書信息
C:如果圖書的最高價格高于80,則查出價格最高的10本圖書信息
D:如果圖書的最高價格高于80,則查出價格最低的10本圖書信息
39.在SQL Server中,運行以下T-SQL語句,輸出的結果是( )。(選擇一項)
CREATE PROC usp_selectStu@stuNo varchar(8)=NULL ?AS??IF @stuNo IS NULL????Begin??????Print '請輸入學號'??????RETURN????End??SELECT * FROM stuInfo WHERE stuNo=@stuNoGOEXEC ?usp_selectStu
A:編譯錯誤
B:調用存儲過程usp_ selectStu出錯
C:顯示空的學員信息記錄集
D:顯示“請輸入學號”
40.在SQL Server中,以下關于常用的系統存儲過程的說法正確的是( )。(選擇一項)
A:sp_databases用于列出數據庫服務器中的所有數據庫信息
B:sp_helpconstraint用于查看某個表的索引
C:sp_procedures用于顯示存儲過程的列表
D:sp_tables用于查看系統中存在的表的個數
禁止煙火說明:大部分來自于朝夕教育學員從面試現場帶回來的真實筆試面試題,2020最新EF/Sql專題筆試面試題,是您找工作的必勝法寶!!
?? 朝夕教育全體老師(尤其是小編),祝大家新年跳槽季,面試順利!
?? 此為 ,EF/Sql專題 面試題 各面試題后續將不斷更新哦!如果想獲取本套試題的答案,有技術問題無法理解或者新的建議,可以聯系我們可愛的助教老師哦!
總結
以上是生活随笔為你收集整理的SQL脚本创建级联_【新年跳槽必备】2020最新(EF/Sql专题)面试题 速领!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梅花雪树控件的使用
- 下一篇: linux cmake编译源码,linu