mysql的一个联合查询列子
2006-10-26 21:16
459 查看
一个mysql的联合查询列子,很基本的,不过很实用。
先看数据表。数据表class:
-------------------------------
id cname
-------------------------------
1 男装
2 女皮裤
3 女彩棉
-------------------------------
class表存放的是产品的大类名称和其序号
数据表product:
-------------------------------
pid ptype pparent
-------------------------------
1 A01 1
2 A21 1
3 B10 2
4 C11 3
5 C01 2
-------------------------------
product表存放的是产品名称,和其所属大类的id(pparent)
现在要求显示所有产品序号、名称、所属类别,如下形式:
-------------------------------
序号 名称 类别
-------------------------------
1 A01 男装
2 A21 男装
3 B10 女皮裤
4 C11 女彩棉
5 C01 女皮裤
-------------------------------
这里要查询product表,根据pparent字段再读出对应的class表中pname字段。最传统的,可以用两个select语句实现,但是mysql中有联合查询语句可以简单的实现:
select product.*, class.* from product inner join class on product.pparent=class.id where product.pid is not null
在php中,通过这样查询出来的记录都放在数组里面,比如:
$myrow=mysql_fetch_array(mysql_query($sql));
那么$myrow数组中,前面存放的是product中的字段,后面存放的是class的字段。
通过符合用户习惯的打印方式print_r来打印$myrow,结果如下:
Array (
[0] => 1
[pid] => 1
[1] => A01
[ptype] => A01
[2] => 1
[pparent] => 1
[3] => 1
[id] => 1
[4] => 男装
[cname] => 男装
……
)
先看数据表。数据表class:
-------------------------------
id cname
-------------------------------
1 男装
2 女皮裤
3 女彩棉
-------------------------------
class表存放的是产品的大类名称和其序号
数据表product:
-------------------------------
pid ptype pparent
-------------------------------
1 A01 1
2 A21 1
3 B10 2
4 C11 3
5 C01 2
-------------------------------
product表存放的是产品名称,和其所属大类的id(pparent)
现在要求显示所有产品序号、名称、所属类别,如下形式:
-------------------------------
序号 名称 类别
-------------------------------
1 A01 男装
2 A21 男装
3 B10 女皮裤
4 C11 女彩棉
5 C01 女皮裤
-------------------------------
这里要查询product表,根据pparent字段再读出对应的class表中pname字段。最传统的,可以用两个select语句实现,但是mysql中有联合查询语句可以简单的实现:
select product.*, class.* from product inner join class on product.pparent=class.id where product.pid is not null
在php中,通过这样查询出来的记录都放在数组里面,比如:
$myrow=mysql_fetch_array(mysql_query($sql));
那么$myrow数组中,前面存放的是product中的字段,后面存放的是class的字段。
通过符合用户习惯的打印方式print_r来打印$myrow,结果如下:
Array (
[0] => 1
[pid] => 1
[1] => A01
[ptype] => A01
[2] => 1
[pparent] => 1
[3] => 1
[id] => 1
[4] => 男装
[cname] => 男装
……
)
相关文章推荐
- 一个简单的Mysql的联合查询列子
- 解决MySQL中死进程(一个联合查询耗时32s)
- mysql 多张表联合查询、一个字段 结构相同
- MySQL三张表联合创建一个新视图
- Mysql联合查询union和union all的使用介绍
- 给mysql添加一个只有某个数据库查询权限的用户
- MySQL 中联合查询效率分析
- mysql条件查询(联合两张表查询 O2P)
- mysql联合查询
- MySQL联合查询语法内联、左联、右联、全联
- 在Eclipse中测试MySQL-JDBC(5)查询1-4之间的所有员工,并且封装为一个个的employee对象,并且存储到一个集合中
- MySQL 联合查询
- mysql 联合查询
- 记录一个mysql按日期分组统计的查询
- 记录一个数据表联合查询过慢的“小坑”
- mysql的一个基础查询
- 对MySQL几种联合查询的通俗解释
- Mysql 一个字段定义成int类型,查询时传入String,会截取字符串
- 【MySql-多表联合查询分页存储过程】
- 利用MySQL的一个特性实现MySQL查询结果的分页显示