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

讀SQL學習指南(第3版)筆記04_查詢?nèi)腴T

這篇具有很好參考價值的文章主要介紹了讀SQL學習指南(第3版)筆記04_查詢?nèi)腴T。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

讀SQL學習指南(第3版)筆記04_查詢?nèi)腴T文章來源地址http://www.zghlxwxcb.cn/news/detail-667675.html

1.?在執(zhí)行語句之前,會先檢查下列事項

1.1.?是否有權(quán)限執(zhí)行該語句

1.2.?是否有權(quán)限訪問指定的數(shù)據(jù)

1.3.?語句的語法是否正確

2.?select子句

2.1.?select子句是select語句中的第一個子句,但最后才會被數(shù)據(jù)庫服務器評估

2.2.?決定哪些列應該包含在查詢的結(jié)果集中

2.3.?字面量

2.4.?表達式

2.5.?內(nèi)建函數(shù)調(diào)用

2.6.?用戶自定義函數(shù)調(diào)用

2.7.?select ?version(),database(),user()

2.8.?列的別名

2.8.1.?AS是可選項

2.9.?移除重復數(shù)據(jù)

2.9.1.?select后面直接添加關鍵字distinct來實現(xiàn)

2.10.?關鍵字all是默認的

2.10.1.?不需要指明

2.10.2.?如果不想讓服務器移除重復數(shù)據(jù)或者確定結(jié)果集中不會出現(xiàn)重復數(shù)據(jù),可以使用關鍵字all代替distinct

2.11.?生成一組不同的結(jié)果時需要對數(shù)據(jù)進行排序,這對于大型結(jié)果集會很耗時

2.12.?不要陷入為了確保沒有重復數(shù)據(jù)而使用distinct的陷阱,而應該花時間充分理解所處理的數(shù)據(jù),以便了解是否可能出現(xiàn)重復數(shù)據(jù)

3.?from子句

3.1.?定義了查詢要用到的數(shù)據(jù)表以及連接數(shù)據(jù)表的方式

3.2.?寬泛定義的數(shù)據(jù)表

3.2.1.?永久數(shù)據(jù)表(使用create table語句創(chuàng)建)

3.2.2.?派生數(shù)據(jù)表(由子查詢返回并保存在內(nèi)存中的行)

3.2.2.1.?子查詢由一對小括號包圍,可以出現(xiàn)在select語句的各個部分中

3.2.2.2.?子查詢的作用在于生成其他所有查詢子句中可見的派生數(shù)據(jù)表,以及與from子句中的其他數(shù)據(jù)表交互

3.2.3.?臨時數(shù)據(jù)表(保存在內(nèi)存中的易失數(shù)據(jù))

3.2.3.1.?mysql

   -> CREATE TEMPORARY TABLE actors_j
    ->  (actor_id smallint(5),
    ->   first_name varchar(45),
    ->   last_name varchar(45)
    ->  );

3.2.3.2.?臨時保留在內(nèi)存中,會話結(jié)束后就消失了

3.2.3.3.?Oracle Database是一個例外,它會保留臨時數(shù)據(jù)表定義,以備后續(xù)會話使用

3.2.4.?虛擬數(shù)據(jù)表(使用create view語句創(chuàng)建)

3.2.4.1.?視圖是存儲在數(shù)據(jù)目錄中的查詢,其行為表現(xiàn)就像數(shù)據(jù)表,但是并沒有與之關聯(lián)的數(shù)據(jù)(這就是將其稱為虛擬數(shù)據(jù)表的原因)

3.2.4.2.?創(chuàng)建視圖時,不會生成或存儲額外的數(shù)據(jù)

3.2.4.3.?服務器只是保留select語句,以備后用

3.2.4.4.?創(chuàng)建視圖的原因各種各樣,包含對用戶隱藏列、簡化復雜的數(shù)據(jù)庫設計

4.?數(shù)據(jù)表鏈接

4.1.?如果from子句中出現(xiàn)多個數(shù)據(jù)表,則必須包含用于鏈接(link)這些數(shù)據(jù)表的條件

4.2.?定義數(shù)據(jù)表別名

4.2.1.?使用完整的數(shù)據(jù)表名稱

4.2.2.?為每個數(shù)據(jù)表指定別名,在查詢中使用該別名

4.2.3.?使用別名可以在不造成困惑的情況下(只要選擇合理的別名)編寫出更緊湊的語句

5.?where子句

5.1.?一種機制,用于過濾掉結(jié)果集中不想要的行

5.2.?在混用不同的運算符時,應該堅持使用括號對條件進行分組

5.2.1.?以便你自己、數(shù)據(jù)庫服務器和后續(xù)人員都能夠意見統(tǒng)一地修改代碼

6.?group by和having子句

6.1.?在返回結(jié)果集之前對數(shù)據(jù)進行處理,以便發(fā)現(xiàn)數(shù)據(jù)呈現(xiàn)的規(guī)律

7.?order by子句

7.1.?使用原始列數(shù)據(jù)或基于列數(shù)據(jù)的表達式對結(jié)果集進行排序的一種機制

7.2.?可以通過關鍵字asc和desc來指定升序排序或降序排序

7.3.?默認為按照升序排序,如果希望按照降序排序,需要加入desc關鍵字

7.4.?降序排序多用于評級查詢

7.5.?MySQL提供了limit子句以允許對數(shù)據(jù)進行排序,然后只保留前X行

7.6.?比如“顯示余額最多的前5個賬戶”

7.7.?通過數(shù)字占位符進行排序

7.7.1.?查詢使用select子句中的第3列,按照降序進行排序

7.7.2.?mysql

   -> SELECT c.first_name, c.last_name,
    ->   time(r.rental_date) rental_time
    -> FROM customer c
    ->   INNER JOIN rental r
    ->   ON c.customer_id = r.customer_id
    -> WHERE date(r.rental_date) = '2005-06-14'
    -> ORDER BY 3 desc;

7.7.3.?在編寫臨時查詢的時候使用位置引用列

7.8.?在編寫代碼時,則堅持按照名稱引用列

到了這里,關于讀SQL學習指南(第3版)筆記04_查詢?nèi)腴T的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 讀SQL學習指南(第3版)筆記06_連接和集合

    讀SQL學習指南(第3版)筆記06_連接和集合

    1.1.2.1.?兩個數(shù)據(jù)表的所有排列組合 1.1.3.1.?使用頻率并不高 1.1.5.1.?涉及交叉連接、外連接、日期函數(shù)、分組、集合運算(union all)和聚合函數(shù)(count()) 1.1.5.2.?sql 1.1.5.3.?mysql 1.1.5.4.?如果生成{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}、{0, 10, 20, 30, 40, 50, 60, 70, 80, 90}和{0,100, 200, 300}這3個集合的

    2024年02月11日
    瀏覽(20)
  • 讀SQL學習指南(第3版)筆記08_視圖和索引

    讀SQL學習指南(第3版)筆記08_視圖和索引

    3.1.3.1.?Oracle Database用戶另一種選擇可以保護數(shù)據(jù)表的行列數(shù)據(jù)安全 3.1.3.2.?VPD允許用戶對數(shù)據(jù)表施加策略,服務器據(jù)此對用戶的查詢進行修改 5.10.4.1.?sql 5.12.1.1.?平衡樹索引(balanced-tree index) 5.12.1.1.1.?B樹索引(B-tree index) 5.12.1.2.?MySQL、Oracle Database和SQL Server均默認采用B樹

    2024年02月10日
    瀏覽(46)
  • 讀SQL學習指南(第3版)筆記09_條件邏輯與事務

    讀SQL學習指南(第3版)筆記09_條件邏輯與事務

    1.3.1.1.?Oracle的decode()函數(shù) 1.3.1.2.?MySQL的if()函數(shù) 1.3.1.3.?SQL Server的coalesce()函數(shù) 1.3.2.1.?在Oracle Database、SQL Server、MySQL、PostgreSQL、IBM UDB等數(shù)據(jù)庫中實現(xiàn) 1.3.3.1.?用于select、insert、update和delete語句 1.3.4.1.?sql 1.3.4.2.?mysql 1.3.5.1.?simple case expression 1.3.5.2.?類似于搜索型case表達式,但

    2024年02月10日
    瀏覽(18)
  • 讀SQL學習指南(第3版)筆記12_時間函數(shù)和分析函數(shù)

    讀SQL學習指南(第3版)筆記12_時間函數(shù)和分析函數(shù)

    1.6.3.1.?SQL Server的getutcdate() 1.6.3.2.?MySQL的utc_timestamp() 1.8.2.1.?對于每個登錄的用戶可能有所不同 1.8.2.2.?改變當前會話的時區(qū)設置 1.8.2.3.?mysql> SET time_zone = \\\'Europe/Zurich\\\'; 2.4.1.1.?年份,包括世紀 2.4.1.2.?1000--9999 2.4.2.1.?月份 2.4.2.2.?01 (1月)~12 (12月) 2.4.3.1.?日 2.4.3.2.?01~31 2.4.4.1

    2024年02月10日
    瀏覽(29)
  • 讀SQL學習指南(第3版)筆記10_元數(shù)據(jù)與大數(shù)據(jù)

    讀SQL學習指南(第3版)筆記10_元數(shù)據(jù)與大數(shù)據(jù)

    1.3.19.1.?system catalog 5.7.2.1.?服務器會檢查數(shù)據(jù)表的元數(shù)據(jù),以確定實際需要包含哪些分區(qū) 5.7.3.1.?只有那些包含查詢所需數(shù)據(jù)的分區(qū)才會被包含在內(nèi) 5.7.4.1.?財務數(shù)據(jù)可能需要在線保存7年,如果數(shù)據(jù)表已根據(jù)事務日期進行分區(qū),就可以撤銷數(shù)據(jù)保存時長超過7年的分區(qū) 5.9.1.1.?

    2024年02月10日
    瀏覽(46)
  • 讀SQL學習指南(第3版)筆記03_創(chuàng)建和填充數(shù)據(jù)庫

    讀SQL學習指南(第3版)筆記03_創(chuàng)建和填充數(shù)據(jù)庫

    3.2.3.1.?ALTER TABLE person MODIFY person_id SMALLINT UNSIGNED AUTO_INCREMENT; 5.4.3.1.?sql 5.4.3.2.?%a 星期幾的簡寫,比如Sun、Mon、... 5.4.3.3.?%b 月份名稱的簡寫,比如Jan、Feb、... 5.4.3.4.?%c 月份的數(shù)字形式(0…12) 5.4.3.5.?%d 月份中的天數(shù)(00…31) 5.4.3.6.?%f 微秒數(shù)(000000…999999) 5.4.3.7.?%H 24小

    2024年02月11日
    瀏覽(32)
  • 讀SQL學習指南(第3版)筆記11_字符串函數(shù)和數(shù)值函數(shù)

    讀SQL學習指南(第3版)筆記11_字符串函數(shù)和數(shù)值函數(shù)

    2.5.3.1.?SQL Server 2005還包括varchar(max)數(shù)據(jù)類型,并建議使用其代替text類型,text類型將在未來的某個版本中被刪除 2.9.7.1.?如果使用的是MySQL,可以通過內(nèi)建函數(shù)quote()來實現(xiàn),該函數(shù)會將整個字符串放入引號內(nèi)并對其中任意的引號/撇號進行轉(zhuǎn)義 2.9.7.2.?mysql 2.9.7.3.?在檢索數(shù)據(jù)用

    2024年02月10日
    瀏覽(23)
  • Vue3入門指南:零基礎小白也能輕松理解的學習筆記

    Vue3入門指南:零基礎小白也能輕松理解的學習筆記

    配置 node.js 15.0 命令行創(chuàng)建命令 npm init vue@latest cd 項目名 npm install npm run dev cnpm下載方法,更快 設置 VSCode 自動保存 官方教程 VSCode + Volar 格式化代碼:Shift + Alt + F .vscode:VSCode工具的配置文件 node_modules:Vue項目運行的依賴文件 public:資源文件夾(瀏覽器圖標) src:源碼文件

    2024年02月06日
    瀏覽(53)
  • 《TPM原理及應用指南》學習 —— TPM執(zhí)行環(huán)境0

    本文對應《A Practical Guide to TPM 2.0 — Using the Trusted Platform Module in the New Age of Security》的第6章概述。 Future chapters in this book present code examples to illustrate concepts. In order for you to be able to build and run these code examples, this chapter describes how to set up an execution environment and build TPM 2.0 sample a

    2024年02月12日
    瀏覽(18)
  • 【機器學習學習】第一天:入門指南

    引言 當今社會,機器學習技術已經(jīng)被廣泛應用于許多領域,如自然語言處理、圖像處理和金融分析等。然而,機器學習這一領域需要掌握大量的數(shù)學知識和編程技能,因此對于初學者來說,可能會感到非常困難。本文將為初學者提供一份機器學習入門指南,幫助他們了解機器

    2024年02月02日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包