IT猫扑网:您身边最放心的安全下载站! 最新更新| 软件分类| 专题汇总| 手机版

您当前所在位置:IT猫扑网 > 数据库 > MYSQL > Mysql多表查询的实现

Mysql多表查询的实现

时间:2015-06-28 00:00 来源:IT猫扑网|http://www.itmop.com/ 作者:网管联盟 我要评论(0)

Mysql多表查询是大家经常会遇到的问题,下面就为您详细介绍Mysql多表查询的实现方法,希望可以让您对Mysql多表查询有更多的了解。

多表查询:

  1. CREATE TABLE IF NOT EXISTS contact(  
  2. contact_id int(11) NOT NULL AUTO_INCREMENT,  
  3. user_name varchar(255),  
  4. nom varchar(255),  
  5. prenom varchar(255),  
  6. mail varchar(64),  
  7. passcode char(64),  
  8. PRIMARY KEY(contact_id)  
  9. );  
  10. CREATE TABLE IF NOT EXISTS droit(  
  11. droit_id int( 11 ) NOT NULL AUTO_INCREMENT ,  
  12. droit varchar(255),  
  13. PRIMARY KEY(droit_id)  
  14. );  
  15. CREATE TABLE IF NOT EXISTS contactdroit(  
  16. contactdroit_id int(11) NOT NULL AUTO_INCREMENT,  
  17. contact_id int( 11 ),  
  18. droit_id int( 11 ),  
  19. PRIMARY KEY( contactdroit_id )  
  20. );  
  21. Insert into contact(contact_id, user_name) values(1,'user1');  
  22. Insert into contact(contact_id, user_name) values(2,'user2');  
  23. Insert into contact(contact_id, user_name) values(3,'user3');  
  24. Insert into droit(droit_id, droit) values(1,'admin');  
  25. Insert into droit(droit_id, droit) values(2,'superuser');  
  26. Insert into contactdroit(contact_id, droit_id) values(1, 1);  
  27. Insert into contactdroit(contact_id, droit_id) values(2, 1);  
  28. Insert into contactdroit(contact_id, droit_id) values(3, 2);  
  29.  
  30. SELECT c.contact_id, d.droit_id, d.droit FROM contact c, contactdroit cd, droit d   
  31. where c.contact_id = cd.contact_id  
  32. and cd.droit_id = d.droit_id;  
  33.  

结果:

  1. contact_id     droit_id     droit  
  2. 1    1     admin  
  3. 2    1     admin  
  4. 32    superuser  

多表联查例子:

两个方法都可以,inner join on 更好点。表结构没贴出来,但比较好懂了。
简单方法:

  1. select c.nom, e.nom   
  2. from consultant c, affaire a, besoin b, salarie sa, site s, entreprise e  
  3. 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  
  4.  

inner join方法:

  1. select c.nom, e.nom  
  2. from consultant c  
  3. inner join affaire a on c.consultant_id=a.consultant_id  
  4. inner join besoin b on a.besoin_id=b.besoin_id  
  5. inner join salarie sa on b.salarie_id=sa.salarie_id  
  6. inner join site s on ssa.site_id=s.site_id  
  7. inner join entreprise e on s.entreprise_id=e.entreprise_id  
  8.  

关键词标签:Mysql

相关阅读 Xbox Game Pass 10款MySQL数据库客户端图形界面管理工具推荐 MySQL常用维护管理工具 MySQL数据库启动失败1067进程意外终止的解决办法总结 MySQL故障:got error 127 when reading table 的错误的原因及解决办法 MySQL CPU 占用 100% 的解决过程

文章评论
发表评论

热门文章 10款MySQL数据库客户端图形界面管理工具推荐 10款MySQL数据库客户端图形界面管理工具推荐 MySQL常用维护管理工具 MySQL常用维护管理工具 使用命令行监控MYSQL 使用命令行监控MYSQL MySQL安装指南大盘点 MySQL安装指南大盘点 mssql数据导入MySQL数据库实操 mssql数据导入MySQL数据库实操 数据库技巧——MySQL十大优化技巧 数据库技巧——MySQL十大优化技巧

相关下载

人气排行 10款MySQL数据库客户端图形界面管理工具推荐 MySQL数据库启动失败1067进程意外终止的解决办法总结 Mysql 1045错误解决办法 MySQL服务器进程CPU占用100%解决办法 MySQL导出导入命令的用例 MySQL连接字符串的实际操作步骤汇总 MySQL无法启动、无法停止各种解决方法总结 三种常用的MySQL建表语句 Mysql清空表的实现方法 MySQL故障:got error 127 when reading table 的错误的原因及解决办法 查看MySQL数据库表的命令介绍 Foxpro到MySQL的数据转换技术介绍