MySQL 多表查询(求解)! 有<<耐心>>的高手请进!
认真为自己 2009-05-07 11:59:10 多表查询以下两种方法那种更好一些?它们有什么区别?在数据库查询的时候有何影响?
(为了描述基本情况假设数据库中有如下两表)
说明:a表为用户表,b表为用户划分组
a表中主要有userID,userName,userGroup,userRubbish (其它字段省略)
b表中主要有groupID,groupName (其它字段省略)
方法一:
$sql="select
a.userID, //userID为用户的序列ID(主键)
a.userName, //userName为用户的登录名
b.groupName //groupName为组名称(如:普通用户;中级用户;高级用户)
from a_user as a inner join b_group as b On a.userGroup=b.groupID order by a.userID desc"; //userGroup的值为groupID
中间循环步骤省略
================================================================================
方法二:
$sql="select * from a_user where userRubbish=0 order by userID desc"; //userRubbish为0的时候显示 为1的就不显示
$result=mysql_query($sql);
$rs=mysql_fetch_array($result);
$groupID=$rs['userGroup'];
$sql="select * from b_group where groupID=$groupID";
中间循环步骤省略
================================================================================
(两种方法中都有所省略)
两种方法最后都可以实现:
用户ID 用户名 用户组
3 王五 普通用户
2 张三 普通用户
1 李四 中级用户
多表查询以上两种方法那种更好一些?它们有什么区别?在数据库查询的时候有何影响?