ToB企服应用市场:ToB评测及商务社交产业平台

标题: SQL 中各种连接 JOIN [打印本页]

作者: 万万哇    时间: 2022-12-19 16:58
标题: SQL 中各种连接 JOIN

数据模拟

mysql版本
  1. select version();
复制代码

sql语句
  1. CREATE TABLE `bus_sche` (
  2.   `id` bigint NOT NULL AUTO_INCREMENT,
  3.   `lastStation` varchar(100) NOT NULL,
  4.   `nextStation` varchar(100) NOT NULL,
  5.   PRIMARY KEY (`id`)
  6. ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
  7. INSERT INTO test.bus_sche (lastStation,nextStation) VALUES
  8.          ('武汉','南昌'),
  9.          ('武汉','广西'),
  10.          ('南昌','厦门'),
  11.          ('广西','上海');
  12. CREATE TABLE `Table_A` (
  13.   `id` bigint NOT NULL AUTO_INCREMENT,
  14.   `name` varchar(100) NOT NULL,
  15.   PRIMARY KEY (`id`)
  16. ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
  17. INSERT INTO test.Table_A (name) VALUES
  18.          ('A1'),
  19.          ('A3'),
  20.          ('A4'),
  21.          ('A8');
  22. CREATE TABLE `Table_B` (
  23.   `id` bigint NOT NULL AUTO_INCREMENT,
  24.   `names` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  25.   PRIMARY KEY (`id`)
  26. ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
  27. INSERT INTO test.Table_B (names) VALUES
  28.          ('B1'),
  29.          ('B2'),
  30.          ('B3'),
  31.          ('B5'),
  32.          ('B6');
复制代码
自连接

  1. SELECT b.lastStation,b.nextStation,a.lastStation,a.nextStation
  2. FROM bus_sche a, bus_sche b
  3. WHERE b.nextStation = a.lastStation;
复制代码

内连接

  1. SELECT * from Table_A JOIN Table_B;
  2. SELECT * from Table_A INNER JOIN Table_B;
复制代码

等值连接

  1. SELECT * from Table_A A JOIN Table_B B ON A.id = B.id;
复制代码


不等连接

<ul>不等连接跟等值连接仅仅是连接条件中使用的运算符不一样,其余一致。不等连接使用的是除等于号运算符以外的其它比较运算符,如>、>=、




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4