PHP+MySQL外键联查语句

1CREATETABLE`dage`(2`id`int(11)NOTNULLauto_increment,3`name`varchar(32)default'',4PRI... 1CREATE TABLE `dage` (
2 `id` int(11) NOT NULL auto_increment,
3 `name` varchar(32) default '',
4 PRIMARY KEY (`id`)
5) ENGINE=InnoDB DEFAULT CHARSET=latin1;
6
7CREATE TABLE `xiaodi` (
8 `id` int(11) NOT NULL auto_increment,
9 `dage_id` int(11) default NULL,
10 `name` varchar(32) default '',
11 PRIMARY KEY (`id`),
12 KEY `dage_id` (`dage_id`),
13 CONSTRAINT `xiaodi_ibfk_1` FOREIGN KEY (`dage_id`) REFERENCES `dage` (`id`)
14) ENGINE=InnoDB DEFAULT CHARSET=latin1;

就是有2个表,一个存大哥,一个存小弟

我想在在查小弟的时候同时查到他的大哥

不是单个查询,查找一批小弟,同时得到其对应的大哥
展开
 我来答
sun313xx
推荐于2016-09-15 · 超过30用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:56.5万
展开全部
给小弟的表加一个大哥的ID的字段,查询的时候两表联查一下。
select dage.name,xiaodi.name from dage join xiaodi on dage.id=xiaodi.dage_id
追问
大概是这个样子,但是还是有点不理解,能够解释一下这个句子吗?
谢谢先啦!

我刚试了,这样只查到了大哥名字和小弟名字,小弟的其他信息怎么同时获取呢?
追答
select dage.name,xiaodi.name from dage join xiaodi on dage.id=xiaodi.dage_id
这个SQL语句select和from中间的是字段名,可以设置的,中间用英文逗号隔开,点的前面是表名,点的后面是那个表的字段名。要标注清楚,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式