数据库多年前学过,全部忘完了,有个嵌套查询并连接显示的基础问题请教下大家.
有两个数据库 A 和 B
其中 A 数据库内容为
name gender number
李强 男 001
李刚 男 002
李德 男 003
李倩 女 004
B 数据库内容为
number class age 001 12 15 003 10 10 002 09 11 004 10 14
我想通过查询 name 这个字段,进行嵌套及关联查询,显示如下结果
name gender number class age 李强 男 001 12 15 李刚 男 002 09 11 李德 男 003 10 10 李倩 女 004 10 14
语句要怎么写呢??
我的数据库环境是 Postgresql.
嵌套部分我会写,select * from B where number in ( select number from A where name = '李强')
但是数据库是自己摸索的,整个联合显示部分这么写呢?
1
zhuzhibin 2020-01-31 23:42:59 +08:00 via iPhone 1
这不是普通的联表查询?是你想太复杂?还是我想简单了?
|
3
moana OP A 表和 B 表有个共同字段 number.
我需要从数据库 A 的字段 Name 开始查询,查询到 Name 对应的所有 number 后,再把 number 放到 B 表里面进行查询,最后把 A 的结果和 B 的结果全部汇总出来. 理论自然查询就行. 但是现在一个问题是 A 表的数据量非常非常非常大,所以我只在 Name 上面建了索引,B 表里面只在 number 上面建了索引. 我想问下在这个前提下,这个语句怎么写会比较好 |
4
Mac 2020-02-01 04:37:42 +08:00 1
select
name, gender, number, class, age from a left join b on a.number=b.number 这是 mysql 的联表查询,Postgresql 你自己看文档,应该差不太多。 |
5
rpxwa 2020-02-01 04:40:10 +08:00 1
没看懂「你想得到的结果表」和「李刚」有什么关系。
我猜? select * from B left join A on B.number=A.number |
6
moana OP 谢谢各位 是我自己想多了.
问题解决了 |