关于mysql,多表查询的疑问,之前只会单表,如下图

问题

通常是选择什么联接,还有外键通常起的是什么作用
clipboard.png

clipboard.png

实际

我要创建一个分类表,和一个文章表,想在文章里有一个分类id,要搞个外键吗,还是像上面哪样内外连接

let category =
    `create table if not exists category(
        id INT NOT NULL AUTO_INCREMENT,
        categoryName varchar(100) not null,
        PRIMARY KEY (id)
    );`
let article =
    `create table if not exists article(
        id INT NOT NULL AUTO_INCREMENT,
        articleName varchar(100) not null,
        c_id INT NOT NULL,
        PRIMARY KEY (id)
    );`

clipboard.png

阅读 2k
1 个回答
  1. join用于查询,foreign key用于表结构,作用完全不同。
  2. 用或不用外键,各有好处,你可以自己选择,简单的说用外键可以更好的保持数据一致性,但损失了灵活性。
  3. join的几种类型在数据库理论上的书上都有,借花献佛给一张图:

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题