Mysql多表查询是大家经常会遇到的问题,下面就为您详细介绍Mysql多表查询的实现方法,希望可以让您对Mysql多表查询有更多的了解。
多表查询:
- CREATE TABLE IF NOT EXISTS contact(
- contact_id int(11) NOT NULL AUTO_INCREMENT,
- user_name varchar(255),
- nom varchar(255),
- prenom varchar(255),
- mail varchar(64),
- passcode char(64),
- PRIMARY KEY(contact_id)
- );
- CREATE TABLE IF NOT EXISTS droit(
- droit_id int( 11 ) NOT NULL AUTO_INCREMENT ,
- droit varchar(255),
- PRIMARY KEY(droit_id)
- );
- CREATE TABLE IF NOT EXISTS contactdroit(
- contactdroit_id int(11) NOT NULL AUTO_INCREMENT,
- contact_id int( 11 ),
- droit_id int( 11 ),
- PRIMARY KEY( contactdroit_id )
- );
- Insert into contact(contact_id, user_name) values(1,'user1');
- Insert into contact(contact_id, user_name) values(2,'user2');
- Insert into contact(contact_id, user_name) values(3,'user3');
- Insert into droit(droit_id, droit) values(1,'admin');
- Insert into droit(droit_id, droit) values(2,'superuser');
- Insert into contactdroit(contact_id, droit_id) values(1, 1);
- Insert into contactdroit(contact_id, droit_id) values(2, 1);
- Insert into contactdroit(contact_id, droit_id) values(3, 2);
- SELECT c.contact_id, d.droit_id, d.droit FROM contact c, contactdroit cd, droit d
- where c.contact_id = cd.contact_id
- and cd.droit_id = d.droit_id;
结果:
- contact_id droit_id droit
- 1 1 admin
- 2 1 admin
- 3 2 superuser
多表联查例子:
两个方法都可以,inner join on 更好点。表结构没贴出来,但比较好懂了。
简单方法:
- select c.nom, e.nom
- from consultant c, affaire a, besoin b, salarie sa, site s, entreprise e
- where c.consultant_id=a.consultant_id and a.besoin_id=b.besoin_id and b.salarie_id=sa.salarie_id and ssa.site_id=s.site_id and s.entreprise_id=e.entreprise_id
inner join方法:
- select c.nom, e.nom
- from consultant c
- inner join affaire a on c.consultant_id=a.consultant_id
- inner join besoin b on a.besoin_id=b.besoin_id
- inner join salarie sa on b.salarie_id=sa.salarie_id
- inner join site s on ssa.site_id=s.site_id
- inner join entreprise e on s.entreprise_id=e.entreprise_id
【编辑推荐】
MySQL分区表对于函数的限制
拆表用的MySQL存储过程
深入探讨MySQL锁机制
详解MySQL数据表类型
单表多字段MySQL模糊查询的实现
新闻标题:Mysql多表查询的实现
网页URL:http://www.csdahua.cn/qtweb/news31/359081.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网