联合多表查询

菜鸟教程join

日常应用较多的是从多个表格中获取数据。使用join可以在多个表查询进行select、update、delete。

join按照功能分为三类:

  • inner join(内连接、或等值连接):获取两个表中字段匹配关系的记录
  • left join(左连接):获取左表所有记录,即使右表没有对应匹配的记录
  • right join(右连接):获取右表所有记录,即使左表没有对应匹配的记录。

如果只写join默认inner join

1.内连接

  1. select a.runoob_id,a.runoob_author,b.runoob_count from
  2. runoob_tbl a join tcount_tbl b
  3. on a.runoob_author = b.runoob_author;
  4. -- 等价于
  5. select a.runoob_id,a.runoob_author,b.runoob_count from
  6. runoob_tbl a, tcount_tbl b
  7. where a.runoob_author = b.runoob_author;

2.左连接

  1. SELECT a.runoob_id, a.runoob_author, b.runoob_count
  2. FROM runoob_tbl a LEFT JOIN tcount_tbl b
  3. ON a.runoob_author = b.runoob_author;

3.右连接

  1. SELECT a.runoob_id, a.runoob_author, b.runoob_count
  2. FROM runoob_tbl a RIGHT JOIN tcount_tbl b
  3. ON a.runoob_author = b.runoob_author;

4.内连接、左连接、右连接区别总结:

以上示例的准备数据,来自菜鸟

  1. SET NAMES utf8;
  2. SET FOREIGN_KEY_CHECKS = 0;
  3. -- 创建表结构`runoob_tbl`
  4. DROP TABLE IF EXISTS `runoob_tbl`;
  5. CREATE TABLE `runoob_tbl` (
  6. `runoob_id` int(11) NOT NULL AUTO_INCREMENT,
  7. `runoob_title` varchar(100) NOT NULL,
  8. `runoob_author` varchar(40) NOT NULL,
  9. `submission_date` date DEFAULT NULL,
  10. PRIMARY KEY (`runoob_id`)
  11. ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
  12. -- 插入数据
  13. INSERT INTO `runoob_tbl` VALUES
  14. ('1', '学习 PHP', '菜鸟教程', '2017-04-12'),
  15. ('2', '学习 MySQL', '菜鸟教程', '2017-04-12'),
  16. ('3', '学习 Java', 'RUNOOB.COM', '2015-05-01'),
  17. ('4', '学习 Python', 'RUNOOB.COM', '2016-03-06'),
  18. ('5', '学习 C', 'FK', '2017-04-05');
  19. COMMIT;
  20. -- 创建表结构 `tcount_tbl`
  21. DROP TABLE IF EXISTS `tcount_tbl`;
  22. CREATE TABLE `tcount_tbl` (
  23. `runoob_author` varchar(255) NOT NULL DEFAULT '',
  24. `runoob_count` int(11) NOT NULL DEFAULT '0'
  25. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  26. -- 插入数据 `tcount_tbl`
  27. INSERT INTO `tcount_tbl` VALUES
  28. ('菜鸟教程', '10'),
  29. ('RUNOOB.COM ', '20'),
  30. ('Google', '22');
  31. COMMIT;
  32. SET FOREIGN_KEY_CHECKS = 1;

mysql-4连接的更多相关文章

  1. mysql交互式连接&非交互式连接

    交互式操作:通俗的说,就是你在你的本机上打开mysql的客户端,就是那个黑窗口,在黑窗口下进行各种sql操作,当然走的肯定是tcp协议. 非交互式操作:就是你在你的项目中进行程序调用.比如一边是tom ...

  2. Mysql的连接状态

    对应mysql的连接,任何时刻都有一个状态.表示mysql当前正在做什么. command里面的状态: sleep:线程正在等待客户发送新的请求. query:正在执行查询或者正在将结果发送客户端 这 ...

  3. mysql远程连接命令

    mysql远程连接命令   一.MySQL 连接本地数据库,用户名为“root”,密码“123”(注意:“-p”和“123” 之间不能有空格) C:\>mysql -h localhost -u ...

  4. Navicat for mysql 远程连接 mySql数据库10061、1045错误

    原文地址:http://www.111cn.net/database/mysql/46377.htm 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061 ...

  5. MySql的连接查询

    类似于oracle的连接查询,mysql连接查询也有左外连接.右外连接.内连接查询.但是,不同的是没有直接 的全外连接查询. 这里介绍MySql的连接查询: 这里已两张表为例:STUDENT 表 和 ...

  6. 服务器保持与Mysql的连接

    服务器程序经常要访问数据库,并且服务器程序是长时间保持运行的,mysql有一个特点,当连接上数据库后不做任何操作,默认8小时候会自动关闭休 眠的连接!一般情况下很难预料什么时候程序会执行数据库操作,如 ...

  7. PAIP.MYSQL SLEEP 连接太多解决

    PAIP.MYSQL SLEEP 连接太多解决 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.n ...

  8. mysql中连接失败2003错误解决办法

    在使用mysql数据库,新建连接时,会报2003-Can't connect to server on 'localhost'(10038)错误,原因主要是MYSQL服务没有启动起来,但是进入:计算机 ...

  9. mysql 远程连接速度慢的解决方案

    PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS ...

  10. mysql 远程连接

    4.现在如果用你电脑上的终端进行MySQL连接时,有可能出现如下错误: MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXX ...

随机推荐

  1. tar: Cowardly refusing to create an empty archive 问题

    在解压 .tar.gz文件的时候遇到了这个解压的问题. 原命令:tar -zcvf ···.tar.gz 提示:tar: Cowardly refusing to create an empty ar ...

  2. Github Clone to local files

    cd to you local files address key the word: git clone -0 github https://github.com/xxxxxxxxx Done... ...

  3. VuePress从零开始搭建自己的博客

    VuePress是什么? VuePress是以Vue驱动的静态网站生成器,是一个由Vue.Vue Router和webpack驱动的单页应用.在VuePress中,你可以使用Markdown编写文档, ...

  4. Python yield 用法

    一.环境 python 3.6 二.yield 说明 yield 是一个生成器,可以用于迭代.也是一个类似 return 的关键字,迭代一次遇到yield时就返回yield后面(右边)的值. 重点是: ...

  5. bzoj1075

    题意: 给你一个地图,问从x1,y1->x2,y2,要走的路最短,问 耗油和速度 题解: 首先把他们转到左下角->右上角 然后只能往上或往下 考虑到可能有小数 所以都乘上他们的公倍数 然后 ...

  6. epoll 模型

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  7. Hadoop本地安装

    安装JDK卸载已经安装的JDK安装sun公司的JDK安装Hadoop(本地方式)解压并安装启动测试程序 安装JDK 卸载已经安装的JDK rpm -qa|grep jdk rpm -qa|grep g ...

  8. IE 问题集合

    1.zIndex在ie需要 先对比父级的层级

  9. CF1061F:Lost Root(交互&概率)

    The graph is called tree if it is connected and has no cycles. Suppose the tree is rooted at some ve ...

  10. 2018-2019-2 《网络对抗技术》Exp3免杀原理与实践 20165222

    1. 实践内容  1.1 正确使用msf编码器 使用 msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 7 -b ...