复合主键:

create table index_test
(
    a int not null,
    b int not null,
    c int not null,
    d int null,
    primary key (c, a, b)
);

即一个表的主键同时由多个字段共同组成,复合主键索引见【Mysql】复合主键的索引

联合主键:

create table index_test_a
(
    id int not null,
    a int not null
    primary key (id)
);
create table index_test_b
(
    id int not null,
    b int not null
    primary key (id)
);
create table index_test_a_b
(
    id int not null,
    a_id int not null,
    b_id int not null,
    primary key (id)
);
index_test_a_b表的id为表index_test_a和表index_test_b的联合主键,就是个逻辑概念