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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

sql 减法_SQL学习笔记整理(持更)

發布時間:2025/3/20 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql 减法_SQL学习笔记整理(持更) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

從零開始學習SQL,在這里分享自己的筆記,主要通過自己看的、做的例題映射知識點。入門級SQL 應知應會Key Point與例題。雖然這個筆記不是最全面深入的,但一定必含小白入門必懂基礎要點(非常基礎),還有常常不小心就會踩的坑都在這里了,主要針對知識點在實際應用中的理解。數據練習可以自己找其他做比如SQLZOO。

可樂:SQL ZOO習題筆記

由于這里有些語句打出來無法突出,采取截圖,層次展現更直觀清晰。 剛開始看的內容有限,待學習完后,希望能分享出系統的筆記,會在這里持續更新。

PART 1 查詢基礎

2.字符串日期 使用 ' ' ;數字無需單引號,直接書寫

3.數據庫創建 CREATE DATABASE Shop;

4.SELECT

常數查詢(可理解為賦值)

選擇記錄:WHERE

可以不選取出作為查詢條件的列

2.算術運算符 :+ — * /

-- 所有包含 NULL 的計算,結果肯定是 NULL 。

3.比較運算符: <>

  • 思考:如下對字符串使用大于等于或者小于等于不等號時會得到什么樣的結果?(字典順序)

  • 不能對 含 NULL 列 使用比較運算符(用IS NOT NULL)

4.邏輯運算符

SELECT product_name, product_type, regist_date FROM Product WHERE product_type = ' 辦公用品 ' AND ( regist_date = '2009-09-11'OR regist_date = '2009-09-20');

SQL中的邏輯運算是包含對真、假和不確定(UNKNOW)進行運算的三值邏輯。

含有 NULL 時的真值:


part2 聚合&排序

聚合?指將多行匯聚成一行

  • 聚合函數會將 NULL 排除在外。但 COUNT (*)例外,并不會排除 NULL 。
  • COUNT(*) 會得到含 NULL 的數據行數,而 COUNT (列名) 會得到 NULL 外的數據行數。
  • 聚合函數只能跟在SELECT子句后

聚合函數:

COUNT : 計算表中的記錄數(行數)

SELECT COUNT(*), COUNT(col_1)FROM NullTbl;

SUM/AVG:不用于字符串類型數據

SELECT SUM(sale_price), SUM(purchase_price) FROM Product;

MAX/MIN:適用于任何數據類型的列。即只要是能夠排序的數據,就肯定有最大值和最小值。

part 3

1.表

表的創建 (表名不能重復,名稱必須以英文開頭)

CREATE TABLE Product(product_id CHAR(4) NOT NULL,product_name VARCHAR(100) NOT NULL,sale_price INTEGER DEFAULT 0,regist_date DATE , PRIMARY KEY (product_id));

表的刪除與更新

2.表中數據

向表中插入數據:INSERT INTO VALUES

INSERT INTO Product (product_id, product_name, sale_price, regist_date) VALUES ('0005', ' 鍋 ', DEFAULT, '2009-01-15');

-- 對表進行全列 INSERT 時,可以省略表名后的列清單。即INSERT INTO Product VALUES( );

Duplicate data:INSERT INTO SELECT FROM

-- 將商品表中的數據生成新列復制到商品復制表中

INSERT INTO ProductType (product_type, sum_sale_price, sum_purchase_price) SELECT product_type, SUM(sale_price), SUM(purchase_price) FROM Product GROUP BY product_type;

--INSERT 語句的 SELECT 語句中,可以使用 WHERE 子句或 GROUP BY 子句等任何SQL語法 (但使用 ORDER BY 子句并不會產生任何效果,因為無法保證表內部記錄的排列順序)

對查詢結果數據進行排序 :ORDER BY

▲子句的書寫順序

1. SELECT 子句 → 2. FROM 子句 → 3. WHERE 子句 → 4. GROUP BY 子句 →5. HAVING 子句 → 6. ORDER BY 子句

降序(默認升序ASC):SELECT *

FROM Product

ORDER BY regist_date DESC, sale_price;

辨: ORDER BY 子句中可使用 SELECT 子句中定義的別名

ORDER BY 子句中可使用 SELECT 子句中未使用的列和聚合函數。

排序鍵中包含 NULL 時,會在開頭或末尾進行匯總。

對數據進行分組:GROUP BY(切蛋糕的刀)

GROUP BY 聚合鍵(分組列)

聚合鍵中包含 NULL 時,在結果中會以“不確定”行(空行)的形式表現出來。

▲GROUP BY 和 WHERE 并用時 SELECT 語句的執行順序

FROM → WHERE → GROUP BY → SELECT

使用聚合函數時, SELECT 子句中只能存在以下三種元素。

● 常數:數字 123,或者字符串 ' 測試 ' 這樣寫在 SQL 語句中的固定值

● 聚合函數

● GROUP BY 子句中指定的列名(也就是聚合鍵)

NOTE:把聚合鍵之外的列名書寫在 SELECT 子句之中.X

GROUP BY 子句時, SELECT 子句中不能出現聚合鍵之外的列名。

GROUP BY 子句的結果隨機排序

-- 用WHERE 子句指定條件時不能跟聚合函數,HAVING出現。

辨:“想要刪除選擇結果中的重復記錄”時使用 DISTINCT ,

“想要計算匯總結果”時使用 GROUP BY 。

辨析HAVING 與WHERE

HAVING 子句的構成要素:常數、聚合函數、聚合鍵

SELECT product_type, COUNT(*)

FROM Product

GROUP BY product_type

HAVING COUNT(*) = 2;

辨:聚合鍵所對應的條件不應寫在 HAVING 子句當中,而應寫在 WHERE 子句當中。

數據的刪除 : DROP; DELETE FROM

① DROP TABLE 語句可以將表完全刪除

② DELETE 保留數據表,僅刪除全部數據行

DELETE FROM Product

WHERE sale_price >= 4000;

-- 確認刪除后的結果

SELECT * FROM Product;

NOTE:① DELETE 語句中不能用 GROUP BY 、HAVING 和 ORDER BY 三類子句,只能用 WHERE 子 句。 (理解:刪除后條件查詢、排序等失效)

② 只能刪除表中全部數據的 TRUNCATE Product;

數據重復行的刪除:SELECT DINSTINCT FROM

-- DISTINCT 關鍵字只能用在第一個列名之前。不能寫成 r _ date , DISTINCT p _type 。

可使用聚合函數刪除重復值

SELECT SUM(DISTINCT sale_price)FROM Product;

數據的更改(更新):UPDATE SET WHERE

UPDATE Product SET sale_price = sale_price * 10,purchase_price = purchase_price / 2 WHERE product_type = ' 廚房用具 '; -- 確認更新內容 SELECT * FROM Product ORDER BY product_id;

使用 NULL 進行更新

UPDATE ProductSET regist_date = NULLWHERE product_id = '0008';

NOTE:使用 UPDATE 語句可以將值清空為 NULL (但只限于未設置 NOT NULL 約束的列)。

PART 4 視圖 (CREATE VIEW AS )與復雜查詢

表:通過 INSERT 語句將數據保存到數據庫之中,而數據庫中的數據實際上會被保存到計算機的存儲設備(通常是硬盤)中。

視圖保存的是從表中取出數據所使用的 SELECT 語句(了解,不用區分)

1 創建視圖

視圖的限制:

① ——定義視圖時不能使用 ORDER BY 子句

② 視圖和表需要同時進行更新,因此通過匯總得到的視圖無法進行更新。

2 子查詢:一次性視圖( SELECT 語句)

根據商品種類統計商品數量的視圖:

標量子查詢:必須而且只能返回表中某一行的某一列的值

標量子查詢的書寫位置并不僅僅局限于 WHERE 子句中,通常任何可

以使用單一值的位置都可以使用。也就是說,能夠使用常數或者列名的

地方,無論是 SELECT 子句、 GROUP BY 子句、 HAVING 子句,還是

ORDER BY 子句,幾乎所有的地方都可以使用。

在 WHERE 子句中使用子查詢時,該子查詢的結果必須是單一的。

關聯子查詢:(細切分的組內進行比較時使用)

關聯子查詢按照商品種類對平均銷售單價進行比較

Question編寫一條 SQL 語句,創建一幅包含如下數據的視圖(名稱為 AvgPriceByType )。

answer

PART 5函數 謂詞

謂詞:LIKE、OR 、IN 、BETWEEN 、EXISTS(記錄)

謂詞的作用就是“判斷是否存在滿足某種條件的記錄”。如果存在這樣的記錄就返回真( TRUE ),如果不存在就返回假( FALSE )。

IN 謂詞—— OR 的簡便用法

eg:

通常指定關聯子查詢作為 EXIST 的參數。

作為 EXIST 參數的子查詢中經常會使用 SELECT * 。

case

CASE 表達式可進行行列轉換

PART6 表的加減法與聯結

1,加減法:以行方向為單位進行操作,即增加記錄行數

SELECT product_id, product_name FROM Product UNION SELECT product_id, product_name FROM Product2 ORDER BY product_id;

-- UNION 等集合運算符通常都會除去重復的記錄。使用UNION ALL 選項,可以保留重復行。

-- 選取表中公共部分—— INTERSECT(交集) ;

--減法運算(注意被減數與減數位置) EXCEPT (差集)

條件:列數必須相同,列的類型必須一致, ORDER BY 子句只能在最后使用一次

2 聯結:以列為單位對表進行聯結

內聯結:eg

SELECT SP.shop_id, SP.shop_name, SP.product_id, P.product_name, P.sale_price FROM ShopProduct AS SP INNER JOIN Product AS P ON SP.product_id = P.product_id WHERE SP.shop_id = '000A';

3張表聯結:

--進行聯結時需要在 FROM 子句中使用多張表。

ON (聯結鍵),要書寫在 FROM 和 WHERE 之間。

SELECT 子句中的列需要按照“ < 表的別名 > . < 列名 > ”的格式進行書寫。

外聯結 ——選取出單張表中全部的信息

SELECT SP.shop_id, SP.shop_name, SP.product_id, P.product_name, P.sale_price FROM ShopProduct AS SP RIGHT OUTER JOIN Product AS P ON SP.product_id = P.product_id;

--指定主表的關鍵字是 LEFT 和 RIGHT

總結

以上是生活随笔為你收集整理的sql 减法_SQL学习笔记整理(持更)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成全影视在线观看第8季 | 亚洲性视频网站 | 婷婷激情综合网 | 奇米在线视频 | 欧美综合久久久 | 人妻视频一区二区 | 国产极品在线观看 | 麻豆91精品91久久久 | 91丨国产丨白丝 | 亚洲国产av一区二区 | 天天干夜夜撸 | 欧美30p | 国产女人在线 | 玖玖国产 | 爱乃なみ加勒比在线播放 | 极品人妻videosss人妻 | 艳妇臀荡乳欲伦交换在线播放 | 日本精品入口免费视频 | 超碰666| 中文字幕成人在线观看 | 69av视频| 国产精品无人区 | 国产又粗又猛又黄又爽视频 | h片在线观看免费 | 日韩成人精品在线 | 婷婷婷色| 久国产精品 | 成人免费在线网址 | 国产在线一区二区 | 亚洲欧洲中文字幕 | 四虎影院黄色 | 91精产国品一二三区在线观看 | 亚洲天堂网址 | 不卡av在线免费观看 | 蜜桃久久精品成人无码av | 精品视频一区二区三区在线观看 | 日韩av一区二区三区在线观看 | 欧美综合一区 | 欧美草逼网| 日本黄色片. | 国产大片一区二区三区 | 色播av| 亚洲搞av | 视频福利在线观看 | 美日韩av在线 | 国产级毛片 | 精品成人| 特黄老太婆aa毛毛片 | 夜夜夜网站 | 亚洲av成人无码久久精品老人 | 99久久综合国产精品二区 | 91插插插插插插插插 | 久久亚洲中文字幕无码 | 夜夜欢视频 | 日本色婷婷 | 欧美一区二区视频 | 一区二区三区不卡在线 | 做爰视频毛片视频 | 久久r精品 | a久久久久 | 看av免费毛片手机播放 | 在线看一区 | 日本高清视频一区二区 | 91精品国产自产精品男人的天堂 | 亚洲啊啊 | 男女网站在线观看 | 亚洲视频色 | 无码国产精品一区二区色情男同 | 五月婷婷综合网 | 久久久精品影视 | 国语对白自拍 | jzjzz成人免费视频 | 激情爱爱网 | 99re这里都是精品 | 黄色免费网站在线观看 | 中文字幕综合在线 | 色婷婷在线观看视频 | 国产 一二三四五六 | 国产黄频在线观看 | 久久久久久亚洲av毛片大全 | 国精品无码人妻一区二区三区 | 西西444www无码大胆 | 国内精品人妻无码久久久影院蜜桃 | 亚洲av日韩精品久久久久久久 | 国产理论一区 | 青青久在线 | 日韩欧美一区二区三区四区五区 | 中文字幕永久 | 色av一区二区 | 亚洲高清无码久久 | 男生插女生视频 | 狠狠操在线 | 国模吧一区二区三区 | 国产中文在线 | 日韩精品人妻中文字幕有码 | 污污的网站在线观看 | 午夜激情久久 | 91污片| 日韩黄色网址 |