设为首页 加入收藏

TOP

剖析MySQL左连接/右连接/等值连接异同(二)
2014-11-24 07:18:56 来源: 作者: 【 】 浏览:1
Tags:剖析 MySQL 连接 等值 异同
G(RAND(),3,2),DATE_ADD(NOW(),INTERVAL -SUBSTRING(RAND(),3,3) DAY),DATE_ADD(NOW(),INTERVAL -SUBSTRING(RAND(),3,2) DAY));
  执行一次INSERT ** SELECT **语句:

INSERT INTO right_table
SELECT ID,SUBSTRING(RAND(),3,4) AS CollectNum,SUBSTRING(RAND(),3,2) AS BuyNum,SUBSTRING(RAND(),3,3) AS SearchNum,CreatDate,AlterDate
FROM left_table WHERE ID%5=1;
  注释:表left_table将会有ID值1,2,3,***,10连续的记录10条,表right_table中有ID值1,6离散的记录2条,并且2表关联条件为:left_table.ID=right_table.UID实现。

  对比测试

  基准测试表中将可能看到的数据(编号:SQL_1)

root@localhost : eugene 03:25:07> SELECT M.ID,M.username FROM left_table M WHERE M.ID<=6;
+----+-----------------+
| ID | username |
+----+-----------------+
| 1 | 06440350@qq.com |
| 2 | 25173782@qq.com |
| 3 | 66328120@qq.com |
| 4 | 16752438@qq.com |
| 5 | 92117196@qq.com |
| 6 | 02026078@qq.com |
+----+-----------------+
  标准左连接

  ON字句中无连接字段之外条件的SQL及数据(编号:SQL_2)

root@localhost : eugene 03:37:58> SELECT M.ID,M.username,N.CollectNum,N.BuyNum
-> FROM left_table M LEFT JOIN right_table N ON M.ID=N.UID
-> WHERE M.ID<=6;
+----+-----------------+------------+--------+
| ID | username | CollectNum | BuyNum |
+----+-----------------+------------+--------+
| 1 | 06440350@qq.com | 817 | 39 |
| 2 | 25173782@qq.com | NULL | NULL |
|&n

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇mysqlhotcopy备份myisam表 下一篇修改及查看mysql数据库的字符集

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 并发工具类:提 (2025-12-25 20:25:44)
·Java面试技巧:如何 (2025-12-25 20:25:41)
·Java并发编程中的线 (2025-12-25 20:25:38)
·C 语言 - cppreferen (2025-12-25 19:50:27)
·《C 语言入门教程》 (2025-12-25 19:50:23)