国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JAVA-軟開-常見八股文(2)-數(shù)據(jù)庫相關(guān)

這篇具有很好參考價(jià)值的文章主要介紹了JAVA-軟開-常見八股文(2)-數(shù)據(jù)庫相關(guān)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1 Drop Delete Truncate三者之間的區(qū)別和聯(lián)系

drop刪除整張表,包括表結(jié)構(gòu)和表數(shù)據(jù)。用法 drop table 表名

truncate表示清空數(shù)據(jù),不會刪除表結(jié)構(gòu)。truncate table 表名

delete表示刪除數(shù)據(jù),不會刪除表結(jié)構(gòu)。delete from 表名 where 列名 = 值,

那么,truncate和delete的區(qū)別:

? ? ? ? ? ? truncate屬于 DDL(數(shù)據(jù)定義語言)語句,操作立即生效,原數(shù)據(jù)不放到 rollback segment 中,不能回滾,操作不觸發(fā) trigger。由DBA所使用。不產(chǎn)生日志信息

? ? ? ? ? ? delete 語句是 DML (數(shù)據(jù)庫操作語言)語句,這個操作會放到 rollback segment 中,事務(wù)提交之后才生效。開發(fā)人員日常使用較為頻繁。產(chǎn)生數(shù)據(jù)的binlog日志。
?

一般來說執(zhí)行效率:drop > truncate > delete。

2 SQL查詢語句中的Limit關(guān)鍵詞的用法。

select _column,_column from _table [where Clause] [limit N][offset M] select * : 返回所有記錄

limit N : 返回 N 條記錄

offset M : 跳過 M 條記錄, 默認(rèn) M=0, 單獨(dú)使用似乎不起作用

limit N,M : 相當(dāng)于 limit M offset N , 從第 N 條記錄開始, 返回 M 條記錄

以下表示均為找表table_a的前5行數(shù)據(jù)。

    1 select * from table_a limit 5;    --> limit n; 表示前n行數(shù)據(jù)

    2 select * from table_a limit 0, 5;  --> limit m , n ;表示第m+1,到第m+ n行的n條數(shù)據(jù)

    3 select * from table_a limit 5 offset 5;  --> limit n offset m ;  表示的是偏移m行,從第m+1到第n行的n條數(shù)據(jù)。

常見的分頁查詢

select * from _table limit (page_number-1)*lines_perpage, lines_perpage

或

select * from _table limit lines_perpage offset (page_number-1)*lines_perpage

3. where group by和Having的先后順序

SELECT cust_name, COUNT() AS num 
FROM Customers 
WHERE cust_email IS NOT NULL 
GROUP BY cust_name 
HAVING COUNT() >= 1;

having:

having 用于對匯總的 group by 結(jié)果進(jìn)行過濾。 having 一般都是和 group by 連用。?

having vs where:

where:過濾過濾指定的行,后面不能加聚合函數(shù)(分組函數(shù))。where 在group by 前。 having:過濾分組,一般都是和 group by 連用,不能單獨(dú)使用。having 在 group by 之后

執(zhí)行順序: where---->group by---->Having ,聚合函數(shù)只能用在Having, select

此外:order by 和 where的順序,先where - order by

完整的順序:Where, Group By, Having, Order by


?

4.SQL語句中Like通配符%和下劃線_的用法

% :表示任意0個或多個字符,可匹配任意類型和長度的字符。

_ :?表示任意單個字符。

注意:如果要搜索 字符中有下劃線的,需要對_進(jìn)行轉(zhuǎn)義

  1. select * from t where x like '%\_%' escape ''; 搜索中間含有下劃線的查詢條件,通過escape進(jìn)行轉(zhuǎn)義。
  2. Like對應(yīng)的否定是NOT LIKE (類似于判斷字符串是否為空,IS NULL / IS NOT NULL)

5.內(nèi)連接 外連接 之間的關(guān)系

JAVA-軟開-常見八股文(2)-數(shù)據(jù)庫相關(guān),數(shù)據(jù)庫,java

ON 和 WHERE 的區(qū)別:

連接表時(shí),SQL 會根據(jù)連接條件生成一張新的臨時(shí)表。ON 就是連接條件,它決定臨時(shí)表的生成。

WHERE 是在臨時(shí)表生成以后,再對臨時(shí)表中的數(shù)據(jù)進(jìn)行過濾,生成最終的結(jié)果集,這個時(shí)候已經(jīng)沒有 JOIN-ON 了。所以總結(jié)來說就是:SQL 先根據(jù) ON 生成一張臨時(shí)表,然后再根據(jù) WHERE 對臨時(shí)表進(jìn)行篩選。

如果不加任何修飾詞,只寫 JOIN,那么默認(rèn)為 INNER JOIN。

對于 INNER JOIN 來說,還有一種隱式的寫法,稱為 “隱式內(nèi)連接”,也就是沒有 INNER JOIN 關(guān)鍵字,使用 WHERE 語句實(shí)現(xiàn)內(nèi)連接的功能。

隱式內(nèi)連接

select c.cust_name, o.order_num
from Customers c, Orders o 
where c.cust_id = o.cust_id 
order by c.cust_name;

顯式內(nèi)連接

select c.cust_name, o.order_num
from Customers c 
inner join Orders o 
using(cust_id) 
order by c.cust_name;

6.IN 和EXISTS查詢的區(qū)別

1 IN后面的子查詢返回的結(jié)果集是單個列表值的集合;而EXISTS所跟的是查詢的結(jié)果集

2 IN是先進(jìn)行內(nèi)部查詢,再根據(jù)結(jié)果進(jìn)行外部查詢;而EXISTS則從外部表開始遍歷每一行,判斷其是否滿足條件

3 IN主要的查詢效率是依賴于外表的索引,而EXISTS的查詢效率是依賴于內(nèi)表的索引。

4 因此,當(dāng)子查詢結(jié)果集較大,而外表較小時(shí),EXISTS的性能較好;

當(dāng)子查詢結(jié)果集較小,而外部表較大的時(shí)候。IN的性能較好文章來源地址http://www.zghlxwxcb.cn/news/detail-742052.html

到了這里,關(guān)于JAVA-軟開-常見八股文(2)-數(shù)據(jù)庫相關(guān)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • java八股文面試[數(shù)據(jù)庫]——MySQL死鎖的原因和處理方法

    java八股文面試[數(shù)據(jù)庫]——MySQL死鎖的原因和處理方法

    1) 表的死鎖 產(chǎn)生原因 : 用戶A訪問表A(鎖住了表A),然后 又訪問表B ;另一個用戶B訪問表B(鎖住了表B),然后企圖 訪問表A ;這時(shí)用戶A由于用戶B已經(jīng)鎖住表B,它必須等待用戶B釋放表B才能繼續(xù),同樣用戶B要等用戶A釋放表A才能繼續(xù),這就死鎖就產(chǎn)生了。 用戶A--》A表(表

    2024年02月09日
    瀏覽(28)
  • java八股文面試[數(shù)據(jù)庫]——可重復(fù)讀怎么實(shí)現(xiàn)的(MVCC)

    java八股文面試[數(shù)據(jù)庫]——可重復(fù)讀怎么實(shí)現(xiàn)的(MVCC)

    可重復(fù)讀(repeatable read)定義: 一個事務(wù)執(zhí)行過程中看到的數(shù)據(jù),總是 跟這個事務(wù) 在 啟動時(shí) 看到的數(shù)據(jù)是一致的。 MVCC MVCC, 多版本并發(fā)控制 , 用于實(shí)現(xiàn) 讀已提交 和 可重復(fù)讀 隔離級別。 MVCC的核心就是 Undo log多版本鏈 + Read view ,“MV”就是通過 Undo log來保存數(shù)據(jù)的歷史版

    2024年02月09日
    瀏覽(101)
  • java八股文面試[數(shù)據(jù)庫]——B樹和B+樹的區(qū)別

    java八股文面試[數(shù)據(jù)庫]——B樹和B+樹的區(qū)別

    B樹是一種樹狀數(shù)據(jù)結(jié)構(gòu),它能夠存儲數(shù)據(jù)、對其進(jìn)行排序并允許以 O(logn) 的時(shí)間復(fù)雜度進(jìn)行查找、順序讀取、插入和刪除等操作。 B樹中允許一個結(jié)點(diǎn)中包含多個key,可以是3個、4個、5個甚至更多,并不確定,需要看具體的實(shí)現(xiàn)?,F(xiàn)在我們選 擇一個參數(shù)M,來構(gòu)造一個B樹,我

    2024年02月09日
    瀏覽(55)
  • 面試八股文Mysql:(2)數(shù)據(jù)庫調(diào)優(yōu)

    面試八股文Mysql:(2)數(shù)據(jù)庫調(diào)優(yōu)

    數(shù)據(jù)庫優(yōu)化在提升系統(tǒng)性能是很重要的一個方面,不管是MySQL還是MongoDB還是其它的數(shù)據(jù)庫。 SQL優(yōu)化在提升系統(tǒng)性能中是成本最低 優(yōu)化效果最明顯的途徑,可以讓 吞吐量更大,響應(yīng)速度更快 。如果你的團(tuán)隊(duì)在SQL優(yōu)化這方面搞得很優(yōu)秀,對你們整個大型系統(tǒng)可用性方面無疑是一

    2024年02月13日
    瀏覽(29)
  • 面試數(shù)據(jù)庫八股文五問五答第四期

    作者:程序員小白條,個人博客 相信看了本文后,對你的面試是有一定幫助的! ?點(diǎn)贊?收藏?不迷路!? 1)什么情況下 mysql 會索引失效? 不使用索引列進(jìn)行查詢:當(dāng)查詢條件不包含索引列時(shí),MySQL無法使用索引進(jìn)行快速查找,而會進(jìn)行全表掃描,導(dǎo)致索引失效。 使用函

    2024年02月04日
    瀏覽(25)
  • 計(jì)算機(jī)復(fù)試面試基礎(chǔ)知識(八股文)(數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、計(jì)網(wǎng)、機(jī)組等)

    數(shù)據(jù)庫緒論 1、簡述三層模式、兩級映射,分別有什么作用? 模式(邏輯模式):是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層,即不涉及數(shù)據(jù)的物理存儲細(xì)節(jié),也與具體應(yīng)用程序開發(fā)工具語言無關(guān)。 外模式(用戶模式):是用戶能看見和使

    2023年04月09日
    瀏覽(73)
  • 前端常見面試八股文

    前端常見面試八股文

    1、H5新增標(biāo)簽有哪些? 一、語義化標(biāo)簽 header、footer、nav、aside、section、article 語義化的意義? 1、更適合搜索引擎的爬蟲爬取有效的信息,利于SEO。 2、對開發(fā)團(tuán)隊(duì)很友好,增加了標(biāo)簽的可讀性,結(jié)構(gòu)更加的清晰,便于團(tuán)隊(duì)的開發(fā)和維護(hù)。 二、多媒體標(biāo)簽 視頻標(biāo)簽:video 屬性

    2023年04月08日
    瀏覽(29)
  • java八股文面試[數(shù)據(jù)結(jié)構(gòu)]——集合框架

    java八股文面試[數(shù)據(jù)結(jié)構(gòu)]——集合框架

    Java集合類主要由兩個根接口Collection和Map派生出來的。 Collection派生出了三個子接口: Map接口派生: Map代表的是存儲key-value對的集合,可根據(jù)元素的key來訪問value。 ?因此Java集合大致也可分成 List、Set、Queue、Map四種接口體系 。 List代表了有序可重復(fù)集合,可直接根據(jù)元素的索

    2024年02月11日
    瀏覽(59)
  • java八股文面試[數(shù)據(jù)結(jié)構(gòu)]——HashMap擴(kuò)容優(yōu)化

    java八股文面試[數(shù)據(jù)結(jié)構(gòu)]——HashMap擴(kuò)容優(yōu)化

    ? ? ?知識來源: 【2023年面試】HashMap在擴(kuò)容上做了哪些優(yōu)化_嗶哩嗶哩_bilibili ?

    2024年02月11日
    瀏覽(33)
  • java八股文面試[數(shù)據(jù)結(jié)構(gòu)]——ArrayList和LinkedList區(qū)別

    java八股文面試[數(shù)據(jù)結(jié)構(gòu)]——ArrayList和LinkedList區(qū)別

    ? ArrayList和LinkedList的異同 二者的線程都不安全,相對線程安全的Vector,執(zhí)行效率高。此外,ArrayList時(shí)實(shí)現(xiàn)了基于動態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),LinkedList基于鏈表的數(shù)據(jù)結(jié)構(gòu),對于隨機(jī)訪問get和set,ArrayList覺得優(yōu)于LinkedList比較占優(yōu)勢,因?yàn)長inledList要移動指針。對于新增和刪除操作add

    2024年02月11日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包