美文网首页小白学习编程
小白学前端(七) 数据库 SQL JOIN 两个或者多个表进行结

小白学前端(七) 数据库 SQL JOIN 两个或者多个表进行结

作者: OKOK熊 | 来源:发表于2018-12-05 14:56 被阅读0次

总是会忘记,于是就mark下

inner join :交集 | WHERE
left join :以指定的左表列进行交集
right join :以指定的右表列进行交集
full outer join / union :并集
cross join :笛卡尔积 / A x B 的映射

以下为详解:

  1. inner join :交集 | WHERE


    交集/inner join
SELECT (字段们) FROM (表们) WHERE [条件](表A.字段A = 表B.字段B)

DELETE (表们) FROM (表们) WHERE [条件](表A.字段A = 表B.字段B)
或 DELETE FROM (表们) USING (表们) WHERE [条件](表A.字段A = 表B.字段B)
  1. left join :以指定的左表列进行交集


    左连接/left join
SELECT (字段们) FROM (表A) LEFT JOIN (表B) ON [条件](表A.字段A = 表B.字段B)

// 找出2个表中的相同记录,并同时删除2个表的数据
DELETE (表们) FROM (表A) LEFT JOIN (表B) ON [条件](表A.字段A = 表B.字段B) WHERE [条件](表X.字段=值)

right join :以指定的右表列进行交集
full outer join / union :并集
cross join :笛卡尔积 / A x B 的映射


附:如何创建关联表
// CONSTRAINT 外键名称(fk_xxx) FOREIGN KEY (关联字段) REFERENCES 被关联表(被关联表的关联字段)

CREATE TABLE accounts(
    account_id INT NOT NULL AUTO_INCREMENT,
    customer_id INT( 4 ) NOT NULL ,
    account_type ENUM( 'savings', 'credit' ) NOT NULL,
    balance FLOAT( 9 ) NOT NULL,
    PRIMARY KEY ( account_id ), 
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id) 
) ENGINE=INNODB;

CREATE TABLE customers(
    customer_id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL,
    address VARCHAR(20) NOT NULL,
    city VARCHAR(20) NOT NULL,
    state VARCHAR(20) NOT NULL,
    PRIMARY KEY ( customer_id )
)

参考列表

  1. SQL left join query
  2. How to update one table based on another table's values on the fly?

相关文章

  • 小白学前端(七) 数据库 SQL JOIN 两个或者多个表进行结

    总是会忘记,于是就mark下 inner join :交集 | WHEREleft join :以指定的左表列...

  • BI-SQL丨JOIN

    JOIN JOIN在SQL Server中是一个很重要的概念。 JOIN经常用于将两个表或者多个表通过主外键关联进...

  • Python 关联处理

    将两个表或者多个表关联在一起是常见的运算,这时通常使用 SQL join 的方式进行关联并进行后续计算。但有时数据...

  • 十六、SQL JOIN

    SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。 SQL LEFT JOIN 关键字 ...

  • SQL-Join连接、UNION 和 UNION ALL

    Join SQL-JOIN 基于多表间的共通字段,把两个或多个表的行结合起来。常见的 JOIN 类型:SQL IN...

  • SQL Join

    SQL join 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。 INNER JOIN:如果表...

  • 连接查询

    SQL表连接查询(inner join、full join、left join、right join) 有两个表,...

  • 数据库--连接(JOIN)

    SQL join 用于把来自两个或多个表的行结合起来。下图展示了 LEFT JOIN、RIGHT JOIN、INN...

  • sql中join的用法

    SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。 最常见的 JOIN 类型:S...

  • SQL之各种连接Join详解

    SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。 最常见的 JOIN 类型:I...

网友评论

    本文标题:小白学前端(七) 数据库 SQL JOIN 两个或者多个表进行结

    本文链接:https://www.haomeiwen.com/subject/hqxwcqtx.html