mysql 表查询
来源:互联网 发布:马云淘宝提成怎么算 编辑:程序博客网 时间:2024/06/10 14:48
1、查询两个表中某个字段相同的记录
select a.peer_id,b.online_num from user_s a,online_num b where a.user_id=b.user_id;
2、使用LEFT JOIN 和RIGHT JOIN 例子 (来源:http://zixun2008.blog.163.com/blog/static/6422126620096810443433/)
left join (左链) right join(右链) inner jion(内联);
我们开始讲解列子的时候,先要三个表:
表t1是会员的名字,级别ID
id name lvid(级别ID)
1 张 2
2 王 3
3 李 1
4 小 5
表t2是会员的级别ID的值(比如1是幼儿园 2是小学生 3是中学生)
lv_id lv(会员级别值)
1 幼儿园
2 小学生
3 中学生
4 高中生
表t3是会员发帖的表,有帖子ID,帖子标题,会员ID,帖子属性(禁止阅读 和 允许阅读)
art_id art_name(帖子标题) h_id (会员ID) art_pr(帖子属性)
1 你 1 0
2 我 3 1
3 他 1 0
4 大家 3 1
三个表都建好啦,我们先看表t1 和 t2 来讲解left join 和 right jion
left join 左连查询 语法是
- <?php ="SELECT t1.id, t1.name, t2.lv FROM t1 LEFT JOIN t2 ON t1.lvid=t2.lv_id"/* while($row=mysql_fetch_array($query)){print_r($row);/* ?>
- $sql
- 查询结果如下:
- id name lv
- 1 张 小学生
- 2 王 中学生
- 3 李 幼儿园
- 4 小 null
- 可以看出左连查询就是按照左边t1的条件查询,保留t1所有数据,右边表t1没有符合左边表t2的数据为空,PHP打印出的数组是
- */
- }
- 不能直接用print_r(),应为擦和讯出的数组是按照t1表的4个条件查询的单独四个数组,他们不是一个整体的,也就MYSQL单独查询出的4个是一个1维数组,PHP接收默认接收4个1维数组组成一个2为数组,但是没有键值,所以实际是4个1维数组!
- 并且一维数组里面同时有指针和字段的键值,用针号或者用字段值都可以;
- Array ( [0] => 1 [id] => 1 [1] => 张 [name] => 张 [2] => 小学生 [lv] => 小学生 )
- Array ( [0] => 2 [id] => 2 [1] => 王 [name] => 王 [2] => 中学生 [lv] => 中学生 )
- Array ( [0] => 3 [id] => 3 [1] => 李 [name] => 李 [2] => 幼儿园 [lv] => 幼儿园 )
- Array ( [0] => 4 [id] => 4 [1] => 小 [name] => 小 [2] => [lv] => )
- [0]是默认的打印出来的出来的,是MYSQL的
- */
RIGHT JOIN刚好相反
- <?php ="SELECT t1.id, t1.name, t2.lv FROM t1 RIGHT JOIN t2 ON t1.lvid=t2.lv_id"//查询结果如下: id name l v //可以看出左连查询就是按照左边t1的条件查询,保留t2所有数据,t1没有符合的数据为空,PHP打印出的数组是while($row=mysql_fetch_array($query)){print_r($row);/* ?>
- $sql
- 3 李 幼儿园
- 1 张 小学生
- 2 王 中学生
- NULL NULL 高中生
- }
- Array ( [0] => 3 [id] => 3 [1] => 李 [name] => 李 [2] => 幼儿园 [lv] => 幼儿园 )
- Array ( [0] => 1 [id] => 1 [1] => 张 [name] => 张 [2] => 小学生 [lv] => 小学生 )
- Array ( [0] => 2 [id] => 2 [1] => 王 [name] => 王 [2] => 中学生 [lv] => 中学生 )
- Array ( [0] => [id] => [1] => [name] => [2] => 高中生 [lv] => 高中生 )
- */
- 【MySQL】MySQL多表查询
- MySQL 表结构查询
- MySQL 多表查询
- mysql 单表查询
- mysql 联表查询
- mysql 表查询
- mysql 查询表结构
- Mysql联表查询
- mysql 连表查询
- mysql多表查询
- Mysql多表查询
- MySQL多表查询
- mysql查询表信息
- mysql查询表
- MYSQL多表查询
- MySQL多表查询
- Mysql 联表查询
- MySQL多表查询
- Log4Net使用实例(VS2008 App)
- camera
- 连线:互联网公司是怎样激发你的消费欲望的?
- Minify在Nginx上的rewrite配置
- Log4net创建日志及简单扩展
- mysql 表查询
- vc 枚举文件
- Oracle® Database 2 Day DBA 11.2翻译--第二章 Oracle数据库软件安装和数据库建立(上)
- 常用英语词汇
- 腾讯资深产品经理谈敏捷开发于游戏
- 对xml文档的修改与删除
- N97锁屏
- vs2010 中使用 log4net
- 如何写一个像UIImagePicker一样的自定义图片选择器