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