飞跃高山与大洋的鱼飞跃高山与大洋的鱼
首页
先看
计算机
  • 数学
  • Linux
  • Arch
  • Manjaro
  • Ubuntu
  • CentOS
  • Kubernetes
  • Web
  • JavaScript
  • TypeScript
  • CSS
  • Canvas
  • Vue
  • Vite
  • NuxtJS
  • Webpack
  • Flutter
  • D3
  • Jest
  • WeApp
  • Utils
  • Nodejs
  • Nestjs
  • Golang
  • Nginx
  • Traefik
  • MySQL
  • MongoDB
  • Redis
  • Docker
算法
  • 像素风
  • Git
  • Github
  • VSCode
  • Chrome
  • Google
  • Bookmark scripts
  • 导航 🎉
  • VuePress 侧边栏插件
  • VuePress 官网
🚇 开往
首页
先看
计算机
  • 数学
  • Linux
  • Arch
  • Manjaro
  • Ubuntu
  • CentOS
  • Kubernetes
  • Web
  • JavaScript
  • TypeScript
  • CSS
  • Canvas
  • Vue
  • Vite
  • NuxtJS
  • Webpack
  • Flutter
  • D3
  • Jest
  • WeApp
  • Utils
  • Nodejs
  • Nestjs
  • Golang
  • Nginx
  • Traefik
  • MySQL
  • MongoDB
  • Redis
  • Docker
算法
  • 像素风
  • Git
  • Github
  • VSCode
  • Chrome
  • Google
  • Bookmark scripts
  • 导航 🎉
  • VuePress 侧边栏插件
  • VuePress 官网
🚇 开往
  • MYSQL

    • MySQL
    • INSERT、UPDATE & DELETE
    • JOIN & UNION
      • 多表查询
      • JOIN
        • 内部联结
        • 外部联结
        • 聚集函数
      • UNION
    • SELECT
    • Stored Procedure
    • TRANSACTIONS
    • TRIGGER
    • VIEWS

JOIN & UNION

多表查询

由于 JOIN 和 UNION 都是多表查询,所以放在一起了。

JOIN

内部联结

内部联结又称为等值联结,它基于两个表之间的相等测试。

SELECT
  vend_name,
  prod_name,
  prod_price
FROM vendors v
JOIN products p
  USING (vend_id)
ORDER BY vend_name, prod_name

-- 自联结
SELECT
  p1.prod_id,
  p1.prod_name
FROM products p1
JOIN products p2
  ON p1.vend_id = p2.vend_id
  AND p2.prod_id = 'DTNTR'

外部联结

SELECT
  c.cust_id,
  o.order_num
FROM customers c
LEFT JOIN orders o
  ON c.cust_id = o.cust_id

聚集函数

SELECT
  c.cust_name,
  c.cust_id,
  count(o.order_num) as num_ord
FROM customers c
LEFT JOIN orders o
  ON c.cust_id = o.cust_id
GROUP BY c.cust_id

UNION

在某种程度上 UNION 可以大幅简化 WHERE 子句。

UNION 中每个查询必须包含相同的列、表达式或聚集函数。

-- 指定 ALL 不会取消重复的行
SELECT
  vend_id,
  prod_id,
  prod_price
FROM products
WHERE prod_price <= 5
UNION ALL
SELECT
  vend_id,
  prod_id,
  prod_price
FROM products
WHERE vend_id IN (1001, 1002)
编辑文档!
上次更新:
贡献者: shanyuhai123
Prev
INSERT、UPDATE & DELETE
Next
SELECT