Files
NoteBook/MySQL/10. 检索.md
T
2025-09-26 21:59:03 +08:00

1.7 KiB

检索

  1. 检索列
SELECT cust_id
FROM Customers
  1. 检索列去重
SELECT DISTINCT prod_id
FROM OrderItems
  1. 检索列排序
SELECT cust_name
FROM Customers
ORDER BY cust_name DESC
  1. 检索列双重排序
SELECT cust_id, order_num
FROM Orders
ORDER BY cust_id, order_date DESC
SELECT quantity, item_price
FROM OrderItems
ORDER BY quantity DESC, item_price DESC
  1. 等值查找
SELECT prod_id, prod_name
FROM Products
WHERE prod_price = 9.49
  1. 范围查找
SELECT prod_id, prod_name
FROM Products
WHERE prod_price >= 9
  1. 范围查找排序
SELECT prod_name, prod_price
FROM Products
WHERE prod_price BETWEEN 3 AND 6
ORDER BY prod_price
  1. 分组筛选
SELECT order_num
FROM OrderItems
GROUP BY order_item
HAVING SUM(quantity) >= 100
  1. 区域匹配
SELECT order_num, prod_id, quantity
FROM OrderItems
WHERE prod_id IN ('BR01', 'BR02', 'BR03') AND quantity >= 100
  1. 模糊匹配
SELECT prod_name, prod_desc
FROM Products
WHERE prod_desc LIKE '%toy%'
  1. 别名
SELECT vend_id, vend_name AS vname, vend_address AS vaddress, vend_city AS vcity
FROM Vendors
ORDER BY vname
  1. 列计算
SELECT prod_id, prod_price, prod_price * 0.9 AS sale_price
FROM Products
  1. 函数
SELECT cust_id, cust_name, UPPER(CONCAT(SUBSTRING(cust_contact, 1, 2), SUBSTRING(cust_city, 1, 3))) AS user_login
FROM Customers
SELECT order_num, COUNT(*) AS items
FROM OrderItems
GROUP BY order_num
HAVING items >= 3
ORDER BY items, order_num
  1. 子查询
SELECT cust_id
FROM Orders
WHERE order_num IN (SELECT DISTINCT order_num
    FROM OrderItems
    where item_price >= 10)