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个表,一个存大哥,一个存小弟
我想在在查小弟的时候同时查到他的大哥
不是单个查询,查找一批小弟,同时得到其对应的大哥 展开
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个表,一个存大哥,一个存小弟
我想在在查小弟的时候同时查到他的大哥
不是单个查询,查找一批小弟,同时得到其对应的大哥 展开
1个回答
展开全部
给小弟的表加一个大哥的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
追问
大概是这个样子,但是还是有点不理解,能够解释一下这个句子吗?
谢谢先啦!
我刚试了,这样只查到了大哥名字和小弟名字,小弟的其他信息怎么同时获取呢?
追答
select dage.name,xiaodi.name from dage join xiaodi on dage.id=xiaodi.dage_id
这个SQL语句select和from中间的是字段名,可以设置的,中间用英文逗号隔开,点的前面是表名,点的后面是那个表的字段名。要标注清楚,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询