SQL崗位30個面試題,SQL面試問題及答案

千鋒雲端計算發表於2019-06-19

SQL崗位30個面試題,SQL面試問題及答案:

SQL崗位30個面試題,SQL面試問題及答案

1. 什麼是SQL?

SQL(結構化查詢語言)是一種設計用於檢索和運算元據的資料庫。它屬於美國國家標準協會(ANSI)的一種標準,可用於執行Select(選擇)、Update(更新)、Delete(刪除)和Insert(插入)等資料任務。

2. 資料庫中的表和欄位是什麼?

表是在具有列和行的模型中設計的資料集合。在表中,指定了列數稱為欄位,但未定義行數稱為記錄。

3. 什麼是資料庫?

資料庫是有序形式的一組資訊,用於訪問、儲存和檢索資料。

4. DBMS的型別是什麼?

DBMS是一個控制資料維護和使用的程式,它被認為是管理資料的檔案管理器。有四種型別的DBMS:

· 關係DBMS

· 分層DBMS

· 網路DBMS

· 物件導向的關係DBMS

最有用的DBMS是Relational DBMS。它為資料提供了一個關係運算子。

5. 編寫一些不同型別的SQL命令

SQL命令分為以下型別:

· DDL(資料定義語言) - 用於定義資料庫的結構。

· DCL(資料控制語言) - 用於為使用者提供許可權。

· DML(資料操作語言) - 用於管理資料。

· DQL(資料查詢語言) - 所有命令都在SQL中,用於檢索DQL中的資料。

· TCL(事務控制語言) - 用於管理DML所做的更改。

6. SQL中的檢視是什麼?

它包含來自一個或多個表的行和列,可以定義為虛擬表。它消耗的記憶體較少。

句法:

CREATE VIEW view_name AS

SELECT column_name1, column_name2

FROM table_name

WHERE CONDITION;

7. 什麼是SQL中的Joins(連線)?

Join用於從相關的行和列中檢索資料。它在兩個或多個表之間工作,並且它從兩個表返回至少一個匹配。

Joins型別是:

· Right Join (右連線)

· Left Join(左連線)

· Inner Join(內連線)

· Outer Join(外連線)

· Self-Join (自連線)

· Cross Join(交叉連線)

· Full Join(全連線)

8. SQL中的Query(查詢)是什麼?

資料庫查詢是資料庫表中的資料請求。查詢可以是選擇查詢或任何其他型別的查詢。

9. 什麼是Subquery(子查詢)以及什麼是Types(型別)?

子查詢是查詢的一部分。外部查詢已知主查詢,內部查詢識別子查詢。始終首先執行子查詢,並將結果傳遞給主查詢。

10. 什麼是Autoincrement(自動增量)?

Autoincrement是一個關鍵字,用於在表中插入新記錄時生成數字。

11. SQL中的Constraints(約束)是什麼?

它可用於設定表中資料型別的限制。在建立或更新表語句時,可以使用約束。一些限制是:

· NOT NULL

· PRIMARY KEY

· FOREIGN KEY

· UNIQUE

· CHECK

· DEFAULT

12. SQL中有多少Key(鍵),它們如何工作?

SQL中有不同型別的鍵:

· SuperKey(超級金鑰)——一個或多個金鑰的集合被定義為超級金鑰,它用於唯一地標識表中的記錄。主鍵,唯一鍵和備用鍵是超級鍵的子集。

· PrimaryKey(主鍵)——它是表中的一個或多個欄位的集合。它們不接受空值和重複值。並且表中只存在一個主鍵。

· ForeignKey(外來鍵)——在一個表中定義主鍵並在另一個表中定義欄位的鍵被標識為外來鍵。

· UniqueKey(唯一鍵)——除了主鍵之外,表中還有更多鍵,它們只標識記錄,但唯一的區別是它們只接受一個空值但不接受重複值。

· CandidateKey(候選金鑰)——在任何情況下,如果需要,任何候選金鑰都可以作為主鍵。

· CompoundKey(複合鍵)——此鍵是候選鍵和主鍵的組合。

· AlternateKey(備用金鑰)——在任何情況下,如果需要,任何備用金鑰都可以作為主鍵或候選鍵。

13. 什麼是Normalization(規範化)?

規範化是一種設計技術,它以減少資料依賴性的方式排列表,將表分成小模組並按關係連結。

14. 什麼是Denormalization(非規範化)?

非規範化是一種最佳化方法,我們將多餘的資料增加到表中,並在規範化後應用。

15. 什麼是Stored Procedure(儲存過程)?

儲存過程是一組SQL語句,用作訪問資料庫的函式。為了減少網路流量並提高效能,可使用儲存過程。

句法:

CREATE Procedure Procedure_Name

(

//Parameters

)

AS

BEGIN

SQL statements in stored procedures to update/retrieve records

END

16. 什麼是Index(索引)?

索引用於加速查詢的效能。它可以更快地從表中檢索資料。可以在一組列上建立索引。

17. Clustered(群集)和Non-Clustered Index(非群集)索引之間有什麼區別?

聚集索引——有助於輕鬆檢索資料,並且只有一個聚集索引與一個表一起分配。它會更改記錄在資料庫中的儲存方式。

非聚集索引——與聚集索引相比,非聚集索引很慢。並且在非叢集索引的情況下,該表可以具有多個索引,為表建立一個物件,該表是搜尋後指向表的一個點。

18. 什麼是Trigger(觸發器)?

觸發器用於對錶執行特定操作,例如INSERT、UPDATE或DELETE。它是一種儲存過程。動作和事件是觸發器的主要組成部分。執行Action時,事件響應該操作而出現。

19. 資料庫中的Properties(屬性)是什麼?

通常,這些屬性稱為ACID。它們在資料庫事務中起作用。

Atomicity(原子性)——在連線兩個或多個單獨資料的事務中,要麼所有部分都已提交,要麼都沒有。

Consistency(一致性)——事務或者生成新的有效資料狀態,或者如果發生任何失望,則在事務啟動之前將所有資料返回到其狀態。

Isolation(隔離性)——正在進行且尚未提交的事務必須繼續與任何其他操作隔離。

Durability(永續性)——在此操作中,系統儲存已提交的資料,每當事件失敗和系統重新啟動時,所有資料都可在其正確位置獲得。

20. SQL中有多少Statements(語句)?

SQL語句分為幾類:

· 資料定義語言語句

· 資料操作語言語句

· 交易控制宣告

· 會話控制宣告

· 系統控制宣告

· 嵌入式SQL語句

21. 什麼是CLAUSE(字句)?

它被定義為透過為查詢提供條件來設定結果集的限制。他們從整個記錄中過濾掉一些行。

一些SQL的字句是WHERE和HAVING。

22.什麼是Aggregate Functions(聚合函式)?

它是一個返回單個值的數學函式。

SQL中的聚合函式是:

· AVG()——返回平均值

· COUNT()——返回行數

· MAX()——返回最大值

· MIN()——返回最小值

· ROUND()——基於十進位制規範,此函式對數字欄位進行舍入

· SUM()——返回總和

23. 什麼是String Functions(字串函式)?

為了操作字串,我們使用字串函式。其中一些是:

· LEN()——返回值的長度。

· LOWER()——將字元資料轉換為小寫。

· UPPER()——將字元資料轉換為大寫。

· SUBSTRING()——提取字元。

· LTRIM()——從頭開始刪除字串的所有空格。

· RTRIM()——刪除結尾處字串的所有空格。

· CONCAT()——連線函式。

· REPLACE()——更新內容。

24. 什麼是Collation(排序規則)?

排序規則是一組規則,用於確定資料如何透過比較進行排序。例如使用一組規則儲存的字元資料,這些規則定義了正確字元的序列以及型別、重音和區分大小寫。

25. 什麼是Cursor(遊標)?

在系統記憶體中執行SQL語句時,會建立一個臨時工作區,稱為“遊標”。在select語句中,遊標儲存了資訊。遊標可以使用多行,但一次只能處理一行。這組行稱為活動集。

遊標有兩種型別:

· ImplicitCursor(隱式遊標)

· ExplicitCursor(顯式遊標)

26. 什麼是SQL Server?

SQLserver是Microsoft關聯式資料庫管理系統(RDBMS)的一種型別或示例。它在IT環境下提供廣泛的事務處理和商業智慧。

27. SQL中有哪些Operators(運算子)?

運算子是一個保留字,主要用於SQL語句的WHERE子句中以進行操作。

· 算術運算

· 邏輯運算

· 比較運算子()

· 複合運算元()

28. 如何定義NULL值,Blank Space(空格)和ZERO(0)?

Null值是沒有值的欄位。它與0不同。假設有一個表,並且在表中有一個欄位,可以在不新增值的情況下將記錄插入欄位,然後該欄位將以NULL值儲存。

空格是我們提供的值。

0只是一個數字。

29. 什麼是Data Warehouse(資料倉儲)?

資料倉儲被稱為來自多個資訊源的中央資料中心。這些資料可用於線上處理和挖掘。

30. UNIQUE KEY(唯一鍵)和PRIMARY KEY(主鍵)之間有什麼區別?

在表中,應該只有一個主鍵,但在另一種情況下,唯一鍵可以為任意數量。

主鍵不允許NULL值,但唯一鍵允許NULL值。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2648127/,如需轉載,請註明出處,否則將追究法律責任。

相關文章