SQL PHP查询多个表数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL PHP查询多个表数据相关的知识,希望对你有一定的参考价值。
[菜鸟警戒在这里!我正在尝试从两个表中在php页面上显示一些数据,但我不知道该怎么办
db_bandas TABLE
banda_id | banda_name
1 | Rolling Beatles
2 | Linkin Bizkit
db_albuns TABLE
album_id | album_name | banda_id | album_ano
1 | Music | 1 | 2000
2 | another | 2 | 2014
3 | good one | 1 | 2004
我想在页面上显示的内容是:
1 | Music | Rolling Beatles | 2000
2 | another | Linkin Bizkit | 2014
3 | good one | Rolling Beatles | 2004
我已经尝试过这样的查询
$sql = "SELECT db_albuns.album_nome AS album_nome, db_albuns.album_id AS album_id, db_albuns.album_ano AS album.ano, db_banda.banda_nome AS banda_nome FROM db_albuns,db_banda";
答案
您可以通过几种不同的方法来执行此操作,但我的首要任务是左联接。
$sql = "SELECT album_id, album_name, banda_name, album_ano
FROM albuns LEFT JOIN bandas
USING (banda_id)
WHERE 1=1;
另一方面,用db_开头的表有点令人困惑,因为那是表的名称,而不是数据库的名称。
另一答案
您可以使用Join来做
$sql = "SELECT db_albuns.album_nome,
db_albuns.album_id, db_albuns.album_ano,
db_banda.banda_nome
FROM db_albuns join db_banda
on db_albuns.banda_id = db_banda.banda_id";
另一答案
您的表名称应为相册,列名称应为id,name,banda_id,ano。您的表格名称是相册,因此我认为无需在每列中使用前缀“相册”。
以及另一个表名应为bandas,列名应为id,名称
您的查询应该是这样
$sql = "SELECT albums.id, albums.name, bandas.name, albums.ano
FROM albums JOIN bandas
on albums.banda_id = bandas.id";
以上是关于SQL PHP查询多个表数据的主要内容,如果未能解决你的问题,请参考以下文章
ORACLE怎么用SQL查询多张表和多个时间点的数据的行数?