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

(SQL學(xué)習(xí)隨筆3)SQL語法——SELECT語句

這篇具有很好參考價值的文章主要介紹了(SQL學(xué)習(xí)隨筆3)SQL語法——SELECT語句。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

基本認(rèn)識

SELECT 'test'; -- 查詢單個值
SELECT 1, 2.3, 'test', true; -- 查詢多個值
SELECT 1 AS 整數(shù), 2.1 AS 浮點數(shù), '測試' AS 字符串, true AS 布爾型; -- 針對每個查詢到的值,在其后配合AS關(guān)鍵字設(shè)置別名
SELECT 1 + 2, 5 * 10, version() AS 版本信息; -- 查詢函數(shù)或算式運算結(jié)果

FROM關(guān)鍵字

-- 創(chuàng)建示例數(shù)據(jù)表
CREATE TABLE tips
(
    total_bill FLOAT,
    tip        FLOAT,
    sex        CHAR(6),
    smoker     CHAR(3),
    day        CHAR(3),
    time       TEXT,
    size       INT
);

-- 插入示例數(shù)據(jù)
INSERT INTO tips
VALUES (16.99, 1.01, 'Female', 'No', 'Sun', 'Dinner', 2),
       (10.34, 1.66, 'Male', 'No', 'Sun', 'Dinner', 3),
       (21.01, 3.5, 'Male', 'No', 'Sun', 'Dinner', 3),
       (23.68, 3.31, 'Male', 'No', 'Sun', 'Dinner', 2),
       (24.59, 3.61, 'Female', 'No', 'Sun', 'Dinner', 4),
       (25.29, 4.71, 'Male', 'No', 'Sun', 'Dinner', 4),
       (8.77, 2.0, 'Male', 'No', 'Sun', 'Dinner', 2),
       (26.88, 3.12, 'Male', 'No', 'Sun', 'Dinner', 4),
       (15.04, 1.96, 'Male', 'No', 'Sun', 'Dinner', 2),
       (14.78, 3.23, 'Male', 'No', 'Sun', 'Dinner', 2);
SELECT * FROM tips;
SELECT tip, sex FROM tips;
SELECT tip AS 小費 FROM tips;

LIMIT與OFFSET

SELECT * FROM tips LIMIT 3; -- 查詢前三行
SELECT * FROM tips LIMIT 3 OFFSET 8; -- 從第9行(包含)開始查詢?nèi)?/span>

ORDER BY

SELECT * FROM tips ORDER BY total_bill DESC; -- 單字段降序(默認(rèn)升序)
SELECT * FROM tips ORDER BY size ASC, total_bill DESC; -- 多字段排序

WHERE條件查詢

-- 示例數(shù)據(jù)
CREATE TABLE funds
(
    fund_code          VARCHAR(10) PRIMARY KEY,
    fund_name          TEXT,
    fund_type          TEXT,
    within_a_week      FLOAT,
    within_a_month     FLOAT,
    within_three_month FLOAT,
    within_this_year   FLOAT,
    within_six_month   FLOAT,
    within_one_year    FLOAT
);

INSERT INTO funds
VALUES ('5669', '前海開源公用事業(yè)股票', '股票型', 0.0714, 0.2844, 0.6162, 0.3708, 0.3582, 1.263),
       ('828', '泰達(dá)轉(zhuǎn)型機(jī)遇', '股票型', 0.0328, 0.1904, 0.5942, 0.2832, 0.2827, 1.0693),
       ('689', '前海開源新經(jīng)濟(jì)混合', '混合型', 0.0769, 0.2797, 0.5918, 0.3768, 0.3504, 0.9222),

單值比較

= 等于
<> 不等于
<<= 小于、小于等于
>、>= 大于、大于等于

SELECT * FROM funds WHERE fund_type <> '混合型';

多條件組合

SELECT * FROM funds 
WHERE fund_type <> '混合型' AND within_three_month > 0.5; -- AND

SELECT * FROM funds
WHERE fund_type = '股票型' OR fund_type = '債券型'; -- OR

SELECT * FROM funds
WHERE fund_type IN ('股票型', '債券型'); -- IN

SELECT * FROM funds
WHERE NOT fund_type IN ('股票型', '債券型'); -- NOT(加在完整條件之前)

范圍篩選

SELECT * FROM funds
WHERE within_three_month BETWEEN 0.4 AND 0.5; -- BETWEEN ... AND ...

空值匹配

SELECT * FROM funds WHERE within_one_year = NULL; -- 這樣不行

SELECT * FROM funds WHERE within_one_year IS NULL; -- 正確

LIKE通配

  • 主要有兩種通配符——'%''_',其中'%'代表任意多個字符,'_'代表單個任意字符
SELECT * FROM funds WHERE fund_name LIKE '%新能源%';

SELECT * FROM funds WHERE fund_name LIKE '%a';
SELECT * FROM funds WHERE fund_name LIKE '%A'; -- 在MySQL中,與上面返回一致(不區(qū)分大小寫)

SELECT * FROM funds WHERE BINARY fund_name LIKE '%A'; -- 強制當(dāng)成二進(jìn)制格式后通配

條件分組

SELECT * FROM funds
WHERE (fund_name LIKE '%醫(yī)藥%' AND within_three_month > 0.4)
   OR (fund_name LIKE '%車%' AND within_three_month > 0.45);

運算符和函數(shù)

數(shù)據(jù)變換

  • 文本處理

MySQL

/*
concat(字段1, 字段2, ... ,字段n)用于將傳入的若干個【字段】或單個值信息拼接為新的單個字段
left(字段, 截取字符數(shù)量)用于從【字段】每條記錄最左端開始提取【截取字符數(shù)量】個的字符
right(字段, 截取字符數(shù)量)用于從【字段】每條記錄最右端開始提取【截取字符數(shù)量】個的字符
char_length(字段)用于計算傳入【字段】每條記錄的字符數(shù)量(單個漢字亦算作1個字符)
substr(字段, 開始位置, 截取長度)用于提取【字段】從【開始位置】往后最多【截取數(shù)量】個字符
regexp_like(字段, 正則表達(dá)式)用于判斷【字段】中是否存在滿足【正則表達(dá)式】模式子串,返回1表示存在,0表示不存在
replace(字段, 目標(biāo)字符串, 替換字符串)用于將【字段】中所有【目標(biāo)字符串】替換為【替換字符串】
repeat(字段, 重復(fù)次數(shù))用于將【字段】復(fù)制【重復(fù)次數(shù)】后進(jìn)行拼接
reverse(字段)用于將【字段】中每條字符記錄進(jìn)行翻轉(zhuǎn)
*/
SELECT concat(fund_name, ' ', fund_type, ' ', within_a_month) AS 'concat()',
       left(fund_name, 2) AS 'left()',
       right(fund_name, 3) AS 'right()',
       char_length(fund_name) AS 'char_length()',
       substr(fund_name, 3, 4) AS 'substr()',
       regexp_like(fund_name, '醫(yī)藥') AS 'regexp_like()',
       replace(fund_name, '醫(yī)藥', 'medicine') AS 'replace()',
       repeat(fund_name, 3) AS 'repeat()',
       reverse(fund_name) AS 'reverse()'
FROM funds;

PostgreSQL

/*
concat(字段1, 字段2, ... ,字段n)用于將傳入的若干個【字段】或單個值信息拼接為新的單個字段
left(字段, 截取字符數(shù)量)用于從【字段】每條記錄最左端開始提取【截取字符數(shù)量】個的字符
right(字段, 截取字符數(shù)量)用于從【字段】每條記錄最右端開始提取【截取字符數(shù)量】個的字符
char_length(字段)用于計算傳入【字段】每條記錄的字符數(shù)量(單個漢字亦算作1個字符)
substr(字段, 開始位置, 截取長度)用于提取【字段】從【開始位置】往后最多【截取數(shù)量】個字符
字段 ~ 正則表達(dá)式  用于判斷【字段】中是否存在滿足【正則表達(dá)式】模式子串,直接返回返回boolean型判斷結(jié)果
replace(字段, 目標(biāo)字符串, 替換字符串)用于將【字段】中所有【目標(biāo)字符串】替換為【替換字符串】
repeat(字段, 重復(fù)次數(shù))用于將【字段】復(fù)制【重復(fù)次數(shù)】后進(jìn)行拼接
reverse(字段)用于將【字段】中每條字符記錄進(jìn)行翻轉(zhuǎn)
*/
SELECT concat(fund_name, ' ', fund_type, ' ', within_a_month) AS "concat()",
       left(fund_name, 2) AS "left()",
       right(fund_name, 3) AS "right()",
       char_length(fund_name) AS "char_length()",
       substr(fund_name, 3, 4) AS "substr()",
       fund_name ~ '醫(yī)藥' AS "~",
       replace(fund_name, '醫(yī)藥', 'medicine') AS "replace()",
       repeat(fund_name, 3) AS "repeat()",
       reverse(fund_name) AS "reverse()"
FROM funds;

在PostgreSQL中還可以使用 || 來拼接若干個字符型字段:
SELECT fund_name || ' - ' || fund_type FROM funds;

  • 數(shù)值計算

PostgreSQL

SELECT 1 + 1 AS,
       1 - 2 AS,
       2 * 5 AS,
       4 / 3 AS 整數(shù)除法,
       4 / 3. AS 浮點數(shù)除法,
       2 ^ 2 AS 平方,
       |/ 25 AS 平方根,
       5 % 2.2 AS 取余,
       ||/ 27 AS 立方根,
       3! AS 階乘,
       @ -5.5 AS 絕對值;

MySQL

SELECT 1 + 1 AS,
       1 - 2 AS,
       2 * 5 AS,
       4 / 3 AS 整數(shù)除法,
       4 / 3. AS 浮點數(shù)除法,
       5 % 2.2 AS 取余,
       sqrt(9) AS 平方根,
       abs(-5.5) AS 絕對值;
  • 聚合函數(shù)
SELECT min(within_three_month) AS 最小值,
       max(within_three_month) AS 最大值,
       avg(within_three_month) AS 平均值,
       count(fund_type) AS 計算行數(shù),
       sum(within_three_month) AS 求和
FROM funds;

SELECT DISTINCT fund_type FROM funds; -- 去重
SELECT count(DISTINCT fund_type) FROM funds; -- 統(tǒng)計不重復(fù)字段的數(shù)量

分組運算

SELECT fund_type, count(*) AS 基金數(shù)量, avg(within_a_month) AS 最近一個月平均漲幅 -- 這些字段運算后必須是和分組字段等長的,即對非分組字段進(jìn)行的運算操作一定是聚合壓縮操作
FROM funds
GROUP BY fund_type
ORDER BY 最近一個月平均漲幅 DESC
LIMIT 3;
  • 分組后過濾(HAVING)
SELECT fund_type, count(*) AS 基金數(shù)量, avg(within_a_month) AS 最近一個月平均漲幅
FROM funds
GROUP BY fund_type
HAVING count(*) >= 5; -- having篩選條件中只能對分組依據(jù)字段進(jìn)行篩選,或?qū)ζ渌侄芜M(jìn)行聚合后篩選

執(zhí)行順序

第一步: FROM <left_table>
第二步: ON <join_condition>
第三步: <join_type> JOIN <right_table>
第四步: WHERE <where_condition>
第五步: GROUP BY <group_by_list>
第六步: HAVING <having_condition>
第七步: SELECT
第八步: DISTINCT <select_list>
第九步: ORDER BY <order_by_condition>
第十步: LIMIT <limit_number>

因此在select中定義的別名不能在where或having中使用

表連接

-- 創(chuàng)建商品信息表
CREATE TABLE product_info
(
    product_id       VARCHAR PRIMARY KEY,
    product_category VARCHAR,
    product_name     VARCHAR,
    product_price    FLOAT
);

-- 創(chuàng)建銷售記錄表
CREATE TABLE sale_records
(
    sold_product_id VARCHAR,
    amount          INT,
    discount        FLOAT
);

-- 插入示例數(shù)據(jù)
INSERT INTO product_info
VALUES ('ca4ef73a-dd6d-11eb-894e-287fcf8fcac7', '生活用品', '花王蒸汽眼罩12片裝', 48.8),
       ('ca4ef73b-dd6d-11eb-922a-287fcf8fcac7', '鞋類', '安踏EDGE跑鞋', 429.0),
       ('ca4ef73c-dd6d-11eb-b7ee-287fcf8fcac7', '鞋類', '匹克態(tài)極3.0跑步鞋', 499.0),
       ('ca4ef73d-dd6d-11eb-9fc4-287fcf8fcac7', '辦公用品', 'Salli馬鞍椅', 2255.0),
       ('ca4ef73e-dd6d-11eb-851b-287fcf8fcac7', '辦公用品', 'GAVEE人體工學(xué)椅', 3888.0),
       ('ca4ef73f-dd6d-11eb-ba5f-287fcf8fcac7', '辦公用品', '赫曼米勒Aeron人體工學(xué)椅', 16310.0),
       ('e2d3o9ed-dccb-11eb-we7u-287fcf8fcac7', '數(shù)碼產(chǎn)品', '華為Mate X2折疊手機(jī)', 17799.0);

INSERT INTO sale_records
VALUES ('ca4ef73a-dd6d-11eb-894e-287fcf8fcac7', 2, 0.9),
       ('ca4ef73b-dd6d-11eb-922a-287fcf8fcac7', 6, 0.8),
       ('ca4ef73d-dd6d-11eb-9fc4-287fcf8fcac7', 3, 0.9),
       ('ca4ef73b-dd6d-11eb-922a-287fcf8fcac7', 1, 0.9),
       ('ca4ef73e-dd6d-11eb-851b-287fcf8fcac7', 2, 0.8),
       ('ca4ef73c-dd6d-11eb-b7ee-287fcf8fcac7', 9, 0.7),

內(nèi)連接

-- 內(nèi)連接
SELECT DISTINCT product_name FROM sale_records AS a
INNER JOIN product_info AS b
ON a.sold_product_id = b.product_id;

-- 兩表中的字段不存在重復(fù),可以省略別名
SELECT DISTINCT product_name FROM sale_records
INNER JOIN product_info
ON sold_product_id = product_id;

左(右)外連接

-- 左外連接
SELECT * FROM product_info
LEFT JOIN sale_records
ON sold_product_id = product_id
WHERE product_name = '華為Mate X2折疊手機(jī)';

全外連接

SELECT DISTINCT product_name FROM sale_records
FULL JOIN product_info -- 或 FULL OUTER JOIN (MySQL中沒有全外連接)
ON sold_product_id = product_id;

外鍵約束

-- 創(chuàng)建銷售記錄表
CREATE TABLE sale_records
(
    sold_product_id VARCHAR REFERENCES product_info(product_id),
    amount          INT,
    discount        FLOAT DEFAULT 1
);

在本例中,即希望sale_records中的sold_prodect_id都能在product_info中找到對應(yīng)的product_id

INSERT INTO sale_records VALUES ('not_int_product_info', 1, 1); -- 報錯,因為product_info表中并不存在product_id為'not_int_product_info'的數(shù)據(jù)

窗口函數(shù)

針對每一條數(shù)據(jù)單獨開一個窗,在窗內(nèi)執(zhí)行不同的操作(通常用于既要明細(xì)又要聚合的場景)

示例數(shù)據(jù):
(SQL學(xué)習(xí)隨筆3)SQL語法——SELECT語句

  • 需求一:獲得每個type下播放量前三名對應(yīng)的記錄
SELECT *
FROM (
         SELECT type, author, title, dense_rank() OVER (PARTITION BY type ORDER BY view DESC) AS top3
         FROM bilibili
     ) AS temp
WHERE top3 <= 3;

注意:窗口函數(shù)的執(zhí)行實在WHERE之后的,因此要獲取前三名不能在內(nèi)層直接用WHERE,而是用嵌套查詢在外層使用WHERE

  • 需求二:查詢每個type中,在coins降序排名下,每個視頻與其下一名之間播放量的差值
select *, view - diff as diff_view
from (
    select type, author, title, view, coins, lead(view, 1) over (partition by type order by coins desc) as diff
    from bilibili
    ) as _; -- FROM 中的子查詢必須有一個別名

注意:over子句中起的別名不能在同級select中使用,因此還是要用嵌套查詢

更多窗口函數(shù):

  • MySQL
    https://dev.mysql.com/doc/refman/8.0/en/window-function-descriptions.html
  • PostgreSQL
    http://www.postgres.cn/docs/12/functions-window.html

UNION:表上下拼接

SELECT * FROM t1
UNION
SELECT * FROM t2
UNION
SELECT * FROM t3

-- 要求:兩表具有相同的字段數(shù)量,且字段數(shù)據(jù)類型相互兼容
-- 最終查詢到的表頭字段與第一張表t1一致
-- UNION 會自動去重,使用UNION ALL不去重

子查詢

SELECT *
FROM (
	SELECT * FROM t1
) as _; -- 子查詢必須要給予別名
GROUP BY ...

條件判斷

  • PostgreSQL示例數(shù)據(jù)
-- 懂車帝部分車輛評分及價格信息表
CREATE TABLE car_info
(
    brand VARCHAR,
    score FLOAT,
    price VARCHAR
);

INSERT INTO car_info
VALUES ('軒逸', 3.65, '8.48-15.59萬'),
       ('雅閣', 3.94, '15.18-24.18萬'),
       ('思域', 3.83, '9.49-15.89萬'),
       ('朗逸', 3.62, '6.79-15.89萬'),
       ('哈弗H6', 3.81, '9.19-15.49萬'),
  • MySQL示例數(shù)據(jù)
-- 懂車帝部分車輛評分及價格信息表
CREATE TABLE car_info
(
    brand TEXT,
    score FLOAT,
    price TEXT
);

INSERT INTO car_info
VALUES ('軒逸', 3.65, '8.48-15.59萬'),
       ('雅閣', 3.94, '15.18-24.18萬'),
       ('思域', 3.83, '9.49-15.89萬'),
       ('朗逸', 3.62, '6.79-15.89萬'),
       ('哈弗H6', 3.81, '9.19-15.49萬')

PostgreSQL

  • 對值進(jìn)行匹配

CASE 輸入值 WHEN 匹配值1 THEN 結(jié)果1 WHEN 匹配值2 THEN 結(jié)果2 … ELSE 備選值 END

-- 為奧迪、寶馬、五菱開頭的品牌單獨匹配,其他情況返回other
SELECT CASE left(brand, 2) -- 從左取brand兩個字符
           WHEN '奧迪' THEN 'Audi'
           WHEN '寶馬' THEN 'BMW'
           WHEN '五菱' THEN 'SGMW'
           ELSE 'other'
           END,
       brand
FROM car_info;
  • 對條件進(jìn)行匹配

CASE WHEN 條件1 THEN 結(jié)果1 WHEN 條件2 THEN 結(jié)果2 ELSE 備選結(jié)果 END

-- 以4為閾值區(qū)分高評分與非高評分
SELECT CASE WHEN score > 4 THEN '高評分' ELSE '非高評分' END,
       brand,
       score
FROM car_info;

MySQL

CASE-WHEN-THEN-END結(jié)構(gòu)語法與PostgreSQL一致

IF(條件, 滿足條件時返回的值, 不滿足條件時返回的值)

-- 以4為閾值區(qū)分高評分與非高評分
SELECT if(score > 4, '高評分', '非高評分'),
       brand,
       score
FROM car_info;

IFNULL(a, b),當(dāng)a為NULL時,返回b;當(dāng)a不為null時,返回a文章來源地址http://www.zghlxwxcb.cn/news/detail-427044.html

SELECT IFNULL(null, '是null'), IFNULL('非null', '不返回這個');

到了這里,關(guān)于(SQL學(xué)習(xí)隨筆3)SQL語法——SELECT語句的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • MySQL-03基本的SELECT語句(基礎(chǔ))

    課程中,第二章是MySQL環(huán)境搭建,因為我之前安裝過MySQL5.7的環(huán)境,然后就直接下載8.0版本的zip,直接安裝的,就沒看視頻,所以沒有第二章筆記。這里給出MySQL社區(qū)版下載地址。 1.1 SQL背景知識 1974年,IBM研究員發(fā)布了一篇揭開數(shù)據(jù)庫技術(shù)的論文《SEQUEL:一門結(jié)構(gòu)化的英語查詢

    2024年02月05日
    瀏覽(26)
  • MySQL-03.基本的SELECT語句(基礎(chǔ))

    課程中,第二章是MySQL環(huán)境搭建,因為我之前安裝過MySQL5.7的環(huán)境,然后就直接下載8.0版本的zip,直接安裝的,就沒看視頻,所以沒有第二章筆記。這里給出MySQL社區(qū)版下載地址。 1.1 SQL背景知識 1974年,IBM研究員發(fā)布了一篇揭開數(shù)據(jù)庫技術(shù)的論文《SEQUEL:一門結(jié)構(gòu)化的英語查詢

    2024年02月05日
    瀏覽(25)
  • MySQL基礎(chǔ)(三)基本的SELECT語句

    MySQL基礎(chǔ)(三)基本的SELECT語句

    1.1 SQL背景知識 1946 年,世界上第一臺電腦誕生,如今,借由這臺電腦發(fā)展起來的互聯(lián)網(wǎng)已經(jīng)自成江湖。在這幾十年里,無數(shù)的技術(shù)、產(chǎn)業(yè)在這片江湖里沉浮,有的方興未艾,有的已經(jīng)幾幕興衰。但在這片浩蕩的波動里,有一門技術(shù)從未消失,甚至“老當(dāng)益壯”,那就是 SQL。

    2024年02月03日
    瀏覽(23)
  • BDA初級分析——認(rèn)識SQL,認(rèn)識基礎(chǔ)語法

    BDA初級分析——認(rèn)識SQL,認(rèn)識基礎(chǔ)語法

    SQL作為實用技能,熱度高、應(yīng)用廣泛 ?在對數(shù)據(jù)分析人員的調(diào)查中SQL長期作為熱度排名第-一的編程語言超過Python和R SQL:易學(xué)易用,高效強大的語言 SQL: Structured Query Language 結(jié)構(gòu)化查詢語言 SQL:易學(xué)易用,類似英文語法類的語言結(jié)構(gòu) ?SQL:標(biāo)準(zhǔn)語句,寫法成熟,應(yīng)用廣泛 SQ

    2024年02月12日
    瀏覽(20)
  • 基本的SELECT語句——“MySQL數(shù)據(jù)庫”

    基本的SELECT語句——“MySQL數(shù)據(jù)庫”

    各位CSDN的uu們好呀,好久沒有更新小雅蘭的MySQL數(shù)據(jù)庫專欄啦,接下來一段時間,小雅蘭都會更新MySQL數(shù)據(jù)庫的知識,下面,讓我們進(jìn)入今天的主題吧——基本的SELECT語句!??! SQL概述 SQL語言的規(guī)則與規(guī)范 基本的SELECT語句 顯示表結(jié)構(gòu) 過濾數(shù)據(jù) 1946 年,世界上第一臺電腦誕生

    2024年02月09日
    瀏覽(88)
  • SQL SELECT DISTINCT(選擇不同) 語法

    SELECT DISTINCT語法用于僅返回不同的(different)值。 在一張表內(nèi),一列通常包含許多重復(fù)的值;?有時你只想列出不同的(different)值。 SELECT DISTINCT語句用于僅返回不同的(different)值。 SQL SELECT DISTINCT語法如下所示: 在本教程中,我們將使用著名的 Northwind 樣本數(shù)據(jù)庫。 下面

    2024年02月07日
    瀏覽(26)
  • Mysql數(shù)據(jù)庫(六):基本的SELECT語句

    Mysql數(shù)據(jù)庫(六):基本的SELECT語句

    本博主將用CSDN記錄軟件開發(fā)求學(xué)之路上親身所得與所學(xué)的心得與知識,有興趣的小伙伴可以關(guān)注博主!也許一個人獨行,可以走的很快,但是一群人結(jié)伴而行,才能走的更遠(yuǎn)! 語法: 選擇全部列: 一般情況下,除非需要使用表中所有的字段數(shù)據(jù),最好不要使用通配符‘ *

    2024年02月08日
    瀏覽(99)
  • MySQL中,SQL 查詢總是先執(zhí)行SELECT語句嗎?

    在使用 MySQL 進(jìn)行查詢時,我們通常會使用 SELECT 語句,但是 SELECT 語句是否總是最先被執(zhí)行呢?這是一個非常有趣的問題,本文將對此進(jìn)行探討。 在 MySQL 中,SQL 查詢通常包括以下幾個步驟: 語法解析 :MySQL 會對 SQL 查詢語句進(jìn)行語法解析,檢查語句是否符合 SQL 語法規(guī)范。

    2023年04月09日
    瀏覽(21)
  • SQL 數(shù)據(jù)操作技巧:SELECT INTO、INSERT INTO SELECT 和 CASE 語句詳解

    SQL 數(shù)據(jù)操作技巧:SELECT INTO、INSERT INTO SELECT 和 CASE 語句詳解

    SELECT INTO 語句將數(shù)據(jù)從一個表復(fù)制到一個新表中。 新表將按照在舊表中定義的列名和類型創(chuàng)建。您可以使用 AS 子句創(chuàng)建新的列名。 以下 SQL 語句創(chuàng)建 Customers 的備份副本: 以下 SQL 語句使用 IN 子句將表復(fù)制到另一個數(shù)據(jù)庫中的新表中: 以下 SQL 語句僅復(fù)制一些列到新表中:

    2024年02月05日
    瀏覽(31)
  • MySQL 參考文檔:SQL 語句優(yōu)化(SELECT 語句優(yōu)化)之索引條件下推(索引下推)優(yōu)化

    索引下推優(yōu)化官方文檔說明 (Section 8.2.1.5):https://dev.mysql.com/doc/refman/5.7/en/index-condition-pushdown-optimization.html 1. 什么是索引下推? qquad 索引條件下推 (Index Condition Pushdown,ICP) 是 MySQL 在使用索引從表中檢索行時的一種優(yōu)化方法。在沒有 ICP 的情況下,存儲引擎遍歷索引以定位基

    2024年02月16日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包