请问一个多对多的SQL查询-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

请问一个多对多的SQL查询

2016-07-01 15:37:50 1877 1

表1、programmer (程序员表)
表2、language (编程语言表)
表3、programmer_language_map (映射表,即某个程序员会哪些语言)

查询出除了1,2,3以外不会其他编程语言的程序员集合,也就是符合条件的程序员可以只会编程语言1,可以会1/2/3三个语言,也可以什么都不会,但是不能会编程语言4(即超出1/2/3范围)。

这种需求能用一条SQL查询语句实现吗?

CREATE TABLE programmer (
id int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id)
)
INSERT INTO programmer VALUES ('1');
INSERT INTO programmer VALUES ('2');
INSERT INTO programmer VALUES ('3');
INSERT INTO programmer VALUES ('4');
INSERT INTO programmer VALUES ('5');
CREATE TABLE language (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
)
INSERT INTO language VALUES ('1', 'Java');
INSERT INTO language VALUES ('2', 'C#');
INSERT INTO language VALUES ('3', 'C++');
INSERT INTO language VALUES ('4', 'JavaScript');
INSERT INTO language VALUES ('5', 'Python');
CREATE TABLE programmer_language_map (
p_id int(11) NOT NULL,
l_id int(11) NOT NULL,
PRIMARY KEY (p_id,l_id)
)
INSERT INTO programmer_language_map VALUES ('1', '3');
INSERT INTO programmer_language_map VALUES ('1', '4');
INSERT INTO programmer_language_map VALUES ('2', '3');
表结构和初始的数据贴上。

需要的查询结果是programmer中的2/3/4/5。

取消 提交回答
全部回答(1)
相关问答

0

回答

各位大佬,请问下这里的业务分类跟业务板块是一个意思吗?

2022-07-10 22:27:58 53浏览量 回答数 0

1

回答

一个java文件可以多少个类?有几个公共类?

2021-10-23 14:21:04 311浏览量 回答数 1

1

回答

在一个工程中,有多个Application类,请问主配置文件该如何配置 - java报错

2020-06-05 21:55:58 370浏览量 回答数 1

1

回答

在一个工程中,有多个Application类,请问主配置文件该如何配置-java报错

2020-05-29 20:58:59 325浏览量 回答数 1

1

回答

在单个语句中用Java执行多个查询

2020-05-10 17:49:13 344浏览量 回答数 1

2

回答

在单个语句中用Java执行多个查询

2020-05-08 15:31:25 551浏览量 回答数 2

1

回答

如何用Java制作一个只读类?

2020-04-23 23:09:59 278浏览量 回答数 1

1

回答

请问:开发一个简单咨询类小程序,需要多久时间?

2019-08-14 23:21:21 3125浏览量 回答数 1

1

回答

sql的一个sum()查询问题

2016-06-14 17:23:26 2036浏览量 回答数 1

1

回答

请问怎么查询一个月中特定的一天?

2016-05-27 10:53:29 1481浏览量 回答数 1
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载