/*************************************by
garcon1986*****************************************************/
¶à±í²éѯ£º
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 consul