1. 程式人生 > 其它 >SQL筆記 Task02 基礎查詢與排序

SQL筆記 Task02 基礎查詢與排序

技術標籤:SQL語句

文章目錄

2.1 SELECT 語句基礎

2.1.1 從表中選取資料

SELECT 語句

從表中選取資料時需要使用SELECT 語句,也就是隻從表中選出(SELECT)必要資料的意思 . 通過SELECT語句查詢並取出必要資料的過程稱為匹配查詢或查詢(query).
基本SELECT 語句包含了SELECT和FROM兩個子句(clause). 示例如下:

在這裡插入圖片描述其中,SELECT子句中列舉了希望從表中查詢出的列的名稱,而FROM子句則指定了選取出資料的表的名稱.

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 CHAR3NOT NULLPRIMARY 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運算子

想要表示"不是…"時,除了前文<>運算外,還存在另外一個表示否定, 使用