sql多表联查图文

  1. 内连接(INNER JOIN)
    语法:

    SELECT 列名
    FROM 表1
    INNER JOIN 表2 ON 表1.列名 = 表2.列名;

示例:

SELECT 列名
FROM 表1
LEFT JOIN 表2 ON 表1.列名 = 表2.列名;
  1. 左外连接(LEFT JOIN)
    语法

    SELECT 列名
    FROM 表1
    LEFT JOIN 表2 ON 表1.列名 = 表2.列名;

示例:

SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.id;
  1. 右外连接(RIGHT JOIN)
    语法:

    SELECT 列名
    FROM 表1
    RIGHT JOIN 表2 ON 表1.列名 = 表2.列名;**

示例:

SELECT employees.name, departments.department_name
FROM employees
RIGHT JOIN departments ON employees.department_id = departments.id;
  1. 全外连接(FULL JOIN)
    语法:

    SELECT 列名
    FROM 表1
    LEFT JOIN 表2 ON 表1.列名 = 表2.列名
    UNION
    SELECT 列名
    FROM 表1
    RIGHT JOIN 表2 ON 表1.列名 = 表2.列名;

示例:

SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.id
UNION
SELECT employees.name, departments.department_name
FROM employees
RIGHT JOIN departments ON employees.department_id = departments.id;
  1. 交叉连接(CROSS JOIN)
    语法:

    SELECT 列名
    FROM 表1
    CROSS JOIN 表2;

示例:

SELECT employees.name, departments.department_name
FROM employees
CROSS JOIN departments;
相关推荐
weixin_SAG23 分钟前
21天掌握javaweb-->第12天:Spring Boot项目优化与安全性
数据库·spring boot·oracle
YiHanXii24 分钟前
Java中有关处理string类型变量的函数
java·数据库·mysql
AitTech29 分钟前
MySQL中count(*)、count(1)和count(字段名)有什么区别
数据库·mysql
尘浮生1 小时前
Java项目实战II基于微信小程序的跑腿系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
涛粒子3 小时前
Redis 生产问题(重要)
数据库·redis·缓存
weixin_409411023 小时前
大模型语料库的构建过程 包括知识图谱构建 垂直知识图谱构建 输入到sql构建 输入到cypher构建 通过智能体管理数据生产组件
sql·知识图谱·easyui
LaLaLa_OvO4 小时前
ORACLE SQL思路: 多行数据有相同字段就合并成一条数据 分页展示
数据库·sql·oracle
晴天Y284 小时前
源码编译安装MySQL
数据库·mysql
fmc1211044 小时前
【1】数据分析基础(一些概念)
服务器·数据库·oracle