日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

SQL岗位30个面试题,SQL面试问题及答案

發(fā)布時(shí)間:2023/12/2 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL岗位30个面试题,SQL面试问题及答案 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SQL崗位30個(gè)面試題,SQL面試問題及答案:

  • 什么是SQL?
  • SQL(結(jié)構(gòu)化查詢語(yǔ)言)是一種設(shè)計(jì)用于檢索和操作數(shù)據(jù)的數(shù)據(jù)庫(kù)。它屬于美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)的一種標(biāo)準(zhǔn),可用于執(zhí)行Select(選擇)、Update(更新)、Delete(刪除)和Insert(插入)等數(shù)據(jù)任務(wù)。

  • 數(shù)據(jù)庫(kù)中的表和字段是什么?
  • 表是在具有列和行的模型中設(shè)計(jì)的數(shù)據(jù)集合。在表中,指定了列數(shù)稱為字段,但未定義行數(shù)稱為記錄。

  • 什么是數(shù)據(jù)庫(kù)?
  • 數(shù)據(jù)庫(kù)是有序形式的一組信息,用于訪問、存儲(chǔ)和檢索數(shù)據(jù)。

  • DBMS的類型是什么?
  • DBMS是一個(gè)控制數(shù)據(jù)維護(hù)和使用的程序,它被認(rèn)為是管理數(shù)據(jù)的文件管理器。有四種類型的DBMS:

    · 關(guān)系DBMS

    · 分層DBMS

    · 網(wǎng)絡(luò)DBMS

    · 面向?qū)ο蟮年P(guān)系DBMS

    最有用的DBMS是Relational DBMS。它為數(shù)據(jù)提供了一個(gè)關(guān)系運(yùn)算符。

  • 編寫一些不同類型的SQL命令
  • SQL命令分為以下類型:

    · DDL(數(shù)據(jù)定義語(yǔ)言) - 用于定義數(shù)據(jù)庫(kù)的結(jié)構(gòu)。

    · DCL(數(shù)據(jù)控制語(yǔ)言) - 用于為用戶提供權(quán)限。

    · DML(數(shù)據(jù)操作語(yǔ)言) - 用于管理數(shù)據(jù)。

    · DQL(數(shù)據(jù)查詢語(yǔ)言) - 所有命令都在SQL中,用于檢索DQL中的數(shù)據(jù)。

    · TCL(事務(wù)控制語(yǔ)言) - 用于管理DML所做的更改。

  • SQL中的視圖是什么?
  • 它包含來自一個(gè)或多個(gè)表的行和列,可以定義為虛擬表。它消耗的內(nèi)存較少。

    句法:

    CREATE VIEW view_name AS

    SELECT column_name1, column_name2

    FROM table_name

    WHERE CONDITION;

  • 什么是SQL中的Joins(連接)?
  • Join用于從相關(guān)的行和列中檢索數(shù)據(jù)。它在兩個(gè)或多個(gè)表之間工作,并且它從兩個(gè)表返回至少一個(gè)匹配。

    Joins類型是:

    · Right Join (右連接)

    · Left Join(左連接)

    · Inner Join(內(nèi)連接)

    · Outer Join(外連接)

    · Self-Join (自連接)

    · Cross Join(交叉連接)

    · Full Join(全連接)

  • SQL中的Query(查詢)是什么?
  • 數(shù)據(jù)庫(kù)查詢是數(shù)據(jù)庫(kù)表中的數(shù)據(jù)請(qǐng)求。查詢可以是選擇查詢或任何其他類型的查詢。

  • 什么是Subquery(子查詢)以及什么是Types(類型)?
  • 子查詢是查詢的一部分。外部查詢已知主查詢,內(nèi)部查詢識(shí)別子查詢。始終首先執(zhí)行子查詢,并將結(jié)果傳遞給主查詢。

  • 什么是Autoincrement(自動(dòng)增量)?
  • Autoincrement是一個(gè)關(guān)鍵字,用于在表中插入新記錄時(shí)生成數(shù)字。

  • SQL中的Constraints(約束)是什么?
  • 它可用于設(shè)置表中數(shù)據(jù)類型的限制。在創(chuàng)建或更新表語(yǔ)句時(shí),可以使用約束。一些限制是:

    · NOT NULL

    · PRIMARY KEY

    · FOREIGN KEY

    · UNIQUE

    · CHECK

    · DEFAULT

  • SQL中有多少Key(鍵),它們?nèi)绾喂ぷ?#xff1f;
  • SQL中有不同類型的鍵:

    · SuperKey(超級(jí)密鑰)——一個(gè)或多個(gè)密鑰的集合被定義為超級(jí)密鑰,它用于唯一地標(biāo)識(shí)表中的記錄。主鍵,唯一鍵和備用鍵是超級(jí)鍵的子集。

    · PrimaryKey(主鍵)——它是表中的一個(gè)或多個(gè)字段的集合。它們不接受空值和重復(fù)值。并且表中只存在一個(gè)主鍵。

    · ForeignKey(外鍵)——在一個(gè)表中定義主鍵并在另一個(gè)表中定義字段的鍵被標(biāo)識(shí)為外鍵。

    · UniqueKey(唯一鍵)——除了主鍵之外,表中還有更多鍵,它們只標(biāo)識(shí)記錄,但唯一的區(qū)別是它們只接受一個(gè)空值但不接受重復(fù)值。

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

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

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

  • 什么是Normalization(規(guī)范化)?
  • 規(guī)范化是一種設(shè)計(jì)技術(shù),它以減少數(shù)據(jù)依賴性的方式排列表,將表分成小模塊并按關(guān)系鏈接。

  • 什么是Denormalization(非規(guī)范化)?
  • 非規(guī)范化是一種優(yōu)化方法,我們將多余的數(shù)據(jù)增加到表中,并在規(guī)范化后應(yīng)用。

  • 什么是Stored Procedure(存儲(chǔ)過程)?
  • 存儲(chǔ)過程是一組SQL語(yǔ)句,用作訪問數(shù)據(jù)庫(kù)的函數(shù)。為了減少網(wǎng)絡(luò)流量并提高性能,可使用存儲(chǔ)過程。

    句法:

    CREATE Procedure Procedure_Name

    (

    //Parameters

    )

    AS

    BEGIN

    SQL statements in stored procedures to update/retrieve records

    END

  • 什么是Index(索引)?
  • 索引用于加速查詢的性能。它可以更快地從表中檢索數(shù)據(jù)。可以在一組列上創(chuàng)建索引。

  • Clustered(群集)和Non-Clustered Index(非群集)索引之間有什么區(qū)別?
  • 聚集索引——有助于輕松檢索數(shù)據(jù),并且只有一個(gè)聚集索引與一個(gè)表一起分配。它會(huì)更改記錄在數(shù)據(jù)庫(kù)中的保存方式。

    非聚集索引——與聚集索引相比,非聚集索引很慢。并且在非集群索引的情況下,該表可以具有多個(gè)索引,為表創(chuàng)建一個(gè)對(duì)象,該表是搜索后指向表的一個(gè)點(diǎn)。

  • 什么是Trigger(觸發(fā)器)?
  • 觸發(fā)器用于對(duì)表執(zhí)行特定操作,例如INSERT、UPDATE或DELETE。它是一種存儲(chǔ)過程。動(dòng)作和事件是觸發(fā)器的主要組成部分。執(zhí)行Action時(shí),事件響應(yīng)該操作而出現(xiàn)。

  • 數(shù)據(jù)庫(kù)中的Properties(屬性)是什么?
  • 通常,這些屬性稱為ACID。它們?cè)跀?shù)據(jù)庫(kù)事務(wù)中起作用。

    Atomicity(原子性)——在連接兩個(gè)或多個(gè)單獨(dú)數(shù)據(jù)的事務(wù)中,要么所有部分都已提交,要么都沒有。

    Consistency(一致性)——事務(wù)或者生成新的有效數(shù)據(jù)狀態(tài),或者如果發(fā)生任何失望,則在事務(wù)啟動(dòng)之前將所有數(shù)據(jù)返回到其狀態(tài)。

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

    Durability(持久性)——在此操作中,系統(tǒng)保存已提交的數(shù)據(jù),每當(dāng)事件失敗和系統(tǒng)重新啟動(dòng)時(shí),所有數(shù)據(jù)都可在其正確位置獲得。

  • SQL中有多少Statements(語(yǔ)句)?
  • SQL語(yǔ)句分為幾類:

    · 數(shù)據(jù)定義語(yǔ)言語(yǔ)句

    · 數(shù)據(jù)操作語(yǔ)言語(yǔ)句

    · 交易控制聲明

    · 會(huì)話控制聲明

    · 系統(tǒng)控制聲明

    · 嵌入式SQL語(yǔ)句

  • 什么是CLAUSE(字句)?
  • 它被定義為通過為查詢提供條件來設(shè)置結(jié)果集的限制。他們從整個(gè)記錄中過濾掉一些行。

    一些SQL的字句是WHERE和HAVING。

    22.什么是Aggregate Functions(聚合函數(shù))?

    它是一個(gè)返回單個(gè)值的數(shù)學(xué)函數(shù)。

    SQL中的聚合函數(shù)是:

    · AVG()——返回平均值

    · COUNT()——返回行數(shù)

    · MAX()——返回最大值

    · MIN()——返回最小值

    · ROUND()——基于十進(jìn)制規(guī)范,此函數(shù)對(duì)數(shù)字字段進(jìn)行舍入

    · SUM()——返回總和

  • 什么是String Functions(字符串函數(shù))?
  • 為了操作字符串,我們使用字符串函數(shù)。其中一些是:

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

    · LOWER()——將字符數(shù)據(jù)轉(zhuǎn)換為小寫。

    · UPPER()——將字符數(shù)據(jù)轉(zhuǎn)換為大寫。

    · SUBSTRING()——提取字符。

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

    · RTRIM()——?jiǎng)h除結(jié)尾處字符串的所有空格。

    · CONCAT()——連接函數(shù)。

    · REPLACE()——更新內(nèi)容。

  • 什么是Collation(排序規(guī)則)?
  • 排序規(guī)則是一組規(guī)則,用于確定數(shù)據(jù)如何通過比較進(jìn)行排序。例如使用一組規(guī)則存儲(chǔ)的字符數(shù)據(jù),這些規(guī)則定義了正確字符的序列以及類型、重音和區(qū)分大小寫。

  • 什么是Cursor(游標(biāo))?
  • 在系統(tǒng)內(nèi)存中執(zhí)行SQL語(yǔ)句時(shí),會(huì)創(chuàng)建一個(gè)臨時(shí)工作區(qū),稱為“游標(biāo)”。在select語(yǔ)句中,游標(biāo)存儲(chǔ)了信息。游標(biāo)可以使用多行,但一次只能處理一行。這組行稱為活動(dòng)集。

    游標(biāo)有兩種類型:

    · ImplicitCursor(隱式游標(biāo))

    · ExplicitCursor(顯式游標(biāo))

  • 什么是SQL Server?
  • SQLserver是Microsoft關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)的一種類型或示例。它在IT環(huán)境下提供廣泛的事務(wù)處理和商業(yè)智能。

  • SQL中有哪些Operators(運(yùn)算符)?
  • 運(yùn)算符是一個(gè)保留字,主要用于SQL語(yǔ)句的WHERE子句中以進(jìn)行操作。

    · 算術(shù)運(yùn)算

    · 邏輯運(yùn)算

    · 比較運(yùn)算符()

    · 復(fù)合算子()

  • 如何定義NULL值,Blank Space(空格)和ZERO(0)?
  • Null值是沒有值的字段。它與0不同。假設(shè)有一個(gè)表,并且在表中有一個(gè)字段,可以在不添加值的情況下將記錄插入字段,然后該字段將以NULL值保存。

    空格是我們提供的值。

    0只是一個(gè)數(shù)字。

  • 什么是Data Warehouse(數(shù)據(jù)倉(cāng)庫(kù))?
  • 數(shù)據(jù)倉(cāng)庫(kù)被稱為來自多個(gè)信息源的中央數(shù)據(jù)中心。這些數(shù)據(jù)可用于在線處理和挖掘。

  • UNIQUE KEY(唯一鍵)和PRIMARY KEY(主鍵)之間有什么區(qū)別?
  • 在表中,應(yīng)該只有一個(gè)主鍵,但在另一種情況下,唯一鍵可以為任意數(shù)量。

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

    總結(jié)

    以上是生活随笔為你收集整理的SQL岗位30个面试题,SQL面试问题及答案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。