Mysql多表查詢的實現(xiàn)
作者:佚名
查詢是Mysql數(shù)據(jù)庫的核心功能,下文就教您如何實現(xiàn)Mysql多表查詢,如果您對此方面感興趣的話,不妨一看。
Mysql多表查詢是大家經(jīng)常會遇到的問題,下面就為您詳細介紹Mysql多表查詢的實現(xiàn)方法,希望可以讓您對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;
結(jié)果:
- contact_id droit_id droit
- 1 1 admin
- 2 1 admin
- 3 2 superuser
多表聯(lián)查例子:
兩個方法都可以,inner join on 更好點。表結(jié)構(gòu)沒貼出來,但比較好懂了。
簡單方法:
- 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
【編輯推薦】
責(zé)任編輯:段燃
來源:
互聯(lián)網(wǎng)