<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 數據庫面試常見問題

    時間:2024-01-25 07:29:21 面試問題 我要投稿
    • 相關推薦

    數據庫面試常見問題

      1、SQL的表連接方式有哪些?

    數據庫面試常見問題

      SQL中連接按結果集分為:內連接,外連接,交叉連接

      內連接:inner join on,兩表都滿足的組合。內連接分為等值連接,不等連接,自然連接。

      等值連接:兩表中相同的列都會出現在結果集中。

      自然連接:兩表中具體相同列表的列會合并為同一列出現在結果集中。

      外連接:分為左(外)連接,右(外)連接,全連接

      左(外)連接:A left(outer)join B,以A表為基礎,A表的全部數據,B表有的組合,沒有的為null。

      右(外)連接:A right(outer)join B,以B表為基礎,B表的全部數據,A表有的組合,沒有的位null。

      全連接:A full(outer)join兩表相同的組合在一起,A表有,B表沒有的數據(顯示為null),同樣B表有,A表沒有的顯示為null。

      交叉連接:cross join,就是笛卡爾乘積。

      2、三范式

      1NF:表中的字段都是單一屬性,不再可分。

      2NF:在1NF的基礎上,表中所有的非主屬性都必須完全依賴于任意一組候選鍵,不能僅依賴于候選鍵中的某個屬性。

      3NF:在2NF的基礎上,表中所有的屬性都不依賴其他非主屬性。

      簡單的說就是:1NF表示每個屬性不可分割,2NF表示非主屬性不存在對主鍵的部分依賴,3NF表示不存在非主屬性對主鍵的依賴傳遞。

      3、表的操作

      表的創建:create table表名(列名1類型約束,列2類型約束…)

      表的刪除:表名

      表的更改(結構的更改,不是記錄的更新):alter table表名add|drop列名|約

      束名

      插入記錄:into表名…values…

      更新記錄:表名set列名=值where條件

      刪除記錄:from表名where條件

      4、數據的完整性

      數據完整性指的是存儲在數據庫中的數據的一致性和準確性。

      完整性分類:

      (1)實體完整性:主鍵值必須唯一且非空。(主鍵約束)

      (2)引用完整性(也叫參照完整性):外鍵要么為空,要么引用主表中存在的記錄。(外鍵約束)。

      (3)用戶自定義完整性:針對某一具體關系數據庫中的約束條件。

      5、SQL的查詢優化

      (1)從表連接的角度優化:盡量使用內連接,因為內連接是兩表都滿足的行的組合,而外連接是以其中一個表的全部為基準。

      (2)盡量使用存儲過程代替臨時寫SQL語句:因為存儲過程是預先編譯好的SQL語句的集合,這樣可以減少編譯時間。

      (3)從索引的角度優化:對那些常用的查詢字段簡歷索引,這樣查詢時值進行索引掃描,不讀取數據塊。

      (4)還有一些常用的select優化技巧:

      (5)A。只查詢那些需要訪問的字段,來代替select*

      B、將過濾記錄越多的where語句向前移:在一個SQL語句中,如果一個where條件過濾的數據庫記錄越多,定位越準確,則該where條件越應該前移。

      6、索引的作用,聚集索引與非聚集索引的區別

      索引是一個數據庫對象,使用索引,可以是數據庫程序無須對整個數據進行掃描,就可以在其中找到目標數據,從而提高查找效率。索引的底層采用的是B樹。

      聚集索引:根據記錄的key再表中排序數據行。

      非聚集索引:獨立于記錄的結構,非聚集所以包含的key,且每個鍵值項都有指向該簡直的數據行的指針。

      聚集索引與非聚集索引的區別:

      (1)聚集索引的物理存儲按索引排序,非聚集所以的物理存儲不按索引排序。

      (2)聚集索引插入,更新數據的速度比非聚集索引慢,單查詢速度更快。

      (3)聚集索引的葉級結點保存的是時間的數據項,而非聚集結點的葉級結點保存的是指向數據項的指針。

      (4)一個表只能有一個聚集索引(因為只有一種排序方式),但可以有多個非聚集索引。

      7、存儲過程與函數的區別

      (1)函數有返回值,存儲過程沒有返回值。

      (2)因為存儲過程沒有返回值,所以不能將存儲過程的執行結果賦值給變量;函數有返回值類型,調用函數時,可以將函數的執行結果賦值給變量。也就是說,函數可以在select語句中使用,而存儲過程則不能。

    【數據庫面試常見問題】相關文章:

    面試常見問題11-04

    中行面試的常見問題07-29

    外貿面試的常見問題10-18

    面試常見問題技巧08-03

    最新面試常見問題12-30

    壓力面試常見問題12-12

    醫療面試常見問題04-15

    醫學面試的常見問題03-26

    兒科面試常見問題08-27

    主站蜘蛛池模板: 精品亚洲成a人片在线观看| 最新国产成人精品2024| 欧美精品一区二区三区免费观看 | 久久国产综合精品五月天| 老子影院午夜精品无码| 成人精品一区二区三区中文字幕| 久久精品国产亚洲5555| 亚洲成人精品久久| 99精品国产在热久久无毒不卡| 自拍偷自拍亚洲精品被多人伦好爽| 国产99久久九九精品无码| 99国产精品久久| 精品人妻人人做人人爽| 亚洲精品国产精品乱码视色| 精品欧美一区二区三区久久久| 91在线手机精品超级观看| 国产精品福利一区二区久久| 久久久久成人精品无码中文字幕| 免费国产在线精品一区| 国产精品欧美久久久久无广告| 拍国产乱人伦偷精品视频| 99久久精品免费看国产一区二区三区 | 91精品视频网站| 精品无码人妻一区二区三区品 | 亚洲精品老司机在线观看| 国产精品麻豆欧美日韩ww| 久久精品国产影库免费看| 99久久免费国产精品热| 国内精品久久久久伊人av| 无码国产乱人伦偷精品视频| 亚洲精品高清国产一线久久| 亚洲国产精品第一区二区三区| 久久这里只有精品视频99| 免费人成在线观看欧美精品| 久久e热在这里只有国产中文精品99 | 人妻少妇精品无码专区动漫| 久久久久国产精品三级网| 久久国产精品波多野结衣AV| 精品人妻少妇一区二区三区| 麻豆国产精品VA在线观看不卡| 老司机午夜网站国内精品久久久久久久久|