SQL筆記 Task02 基礎查詢與排序
阿新 • • 發佈:2021-01-01
技術標籤:SQL語句
文章目錄
2.1 SELECT 語句基礎
2.1.1 從表中選取資料
SELECT 語句
從表中選取資料時需要使用SELECT 語句,也就是隻從表中選出(SELECT)必要資料的意思 . 通過SELECT語句查詢並取出必要資料的過程稱為匹配查詢或查詢(query).
基本SELECT 語句包含了SELECT和FROM兩個子句(clause). 示例如下:
2.1.2 從表中選取符合條件的資料
WHERE語句
當不需要取出全部資料,而是選取出滿足"商品種類為衣服" “銷售單價在1000日元以上” 等某些條件的資料時,使用WHERE語句
SELECT 語句通過WHERE子句來指定查詢資料的條件. 在WHERE 子句中可以指定"某一列的值和這個字串相等"或者"某一列的值大於這個數字"等條件 . 執行含有這些條件的SELECT語句,就可以查詢出只符合該條件的記錄了.
比較下面兩者輸出結果的不同:
-- 用來選取product type列為衣服’的記錄的SELECT語句
SELECT product_name,product_type
FROM product
WHERE product_type = '衣服';
-- 也可以選取不是查詢條件的列(條件列與輸出列不同)
SELECT product_name
FROM product
WHERE product_type = '衣服'
2.1.3 相關法則
(1) 星號() 代表全部列的意思 .
(2) SQL中可以隨意使用換行符,不影響語句執行,(但不可插入空行).
(3) 設定漢語別名時需要使用雙引號(")括起來 . (4) 在SELECT語句中使用DISTINCT 可以刪除重複行 .
(5) 註釋是SQL語句中用來標識說明或者注意事項的部分。分為1行註釋"-- “和多行註釋兩種”/ */"。
-- 想要查詢出全部列時,可以使用代表所有列的星號(*)。
SELECT *
FROM <表名>;
-- SQL語句可以使用AS關鍵字為列設定別名(用中文時需要雙引號(“”))。
SELECT product_id AS id,
product_name AS name,
purchase_price AS "進貨單價"
FROM product;
-- 使用DISTINCT刪除product_type列中重複的資料
SELECT DISTINCT product_type
FROM product;
2.2 算術運算子和比較運算子
2.2.1 算術運算子
SQL語句中可以使用的四則運算的主要運算子如下:
2.2.2 比較運算子
2.2.3 常用法則
(1) SELECT 子句中可以使用常數或者表示式
(2) 使用比較運算子時注意不等號和等號的位置 .
(3) 字串型別的資料原則上按照字典順序,不能與數字大小順序混淆
(4) 希望選取NULL記錄時,需要在條件表示式中使用IS NULL運算子. 希望選取的不是NULL的記錄時,需要在條件表示式中使用IS NOT NULL運算子 .
相關程式碼如下:
-- SQL語句中也可以使用運算表示式
SELECT product_name, sale_price, sale_price * 2 AS "sale_price x2"
FROM product;
-- WHERE子句的條件表示式中也可以使用計算表示式
SELECT product_name, sale_price, purchase_price
FROM product
WHERE sale_price-purchase_price >= 500;
/* 對字串使用不等號
首先建立chars並插入資料
選取出大於‘2’的SELECT語句*/
-- DDL:建立表
CREATE TABLE chars
(chr CHAR(3)NOT NULL,
PRIMARY KEY(chr));
-- 選取出大於'2'的資料的SELECT語句('2'為字串)
SELECT chr
FROM chars
WHERE chr > '2';
-- 選取NULL的記錄
SELECT product_name, purchase_price
FROM product
WHERE purchase_price IS NULL;
-- 選取不為NULL的記錄
SELECT product_name, purchase_price
FROM product
WHERE purchase_price IS NOT NULL;
2.3 邏輯運算子
2.3.1 NOT運算子
想要表示"不是…"時,除了前文<>運算外,還存在另外一個表示否定, 使用