SQL学习笔记(04)_JOIN
云想衣裳花想容,春风拂槛露华浓。
若非群玉山头见,会向瑶台月下逢。
清平调.其一
JOIN
- SQL 连接(JOIN)
SQL 连接(JOIN)
join 关键字 主要基于两个或多个表表的共同字段,把来自两个或多个表的行结合起来查询我们希望得到的特定结果
常用的用法主要有:inner join 、left join 、right join 、outer join 等。
下面演示数据库内容选自菜鸟教程为参考:
-- 选自 "Websites" 表的数据
+----+--------------+---------------------------+-------+---------+
| id | name | url | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1 | Google | https://www.google.cm/ | 1 | USA |
| 2 | 淘宝 | https://www.taobao.com/ | 13 | CN |
| 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN |
| 4 | 微博 | http://weibo.com/ | 20 | CN |
| 5 | Facebook | https://www.facebook.com/ | 3 | USA |
| 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND |
+----+---------------+---------------------------+-------+---------+
-- access" 网站访问记录表的数据
+-----+---------+-------+------------+
| aid | site_id | count | date |
+-----+---------+-------+------------+
| 1 | 1 | 45 | 2016-05-10 |
| 2 | 3 | 100 | 2016-05-13 |
| 3 | 1 | 230 | 2016-05-14 |
| 4 | 2 | 10 | 2016-05-14 |
| 5 | 5 | 205 | 2016-05-14 |
| 6 | 4 | 13 | 2016-05-15 |
| 7 | 3 | 220 | 2016-05-15 |
| 8 | 5 | 545 | 2016-05-16 |
| 9 | 3 | 201 | 2016-05-17 |
+-----+---------+-------+------------+
注意,“Websites” 表中的 “id” 列指向 “access” 表中的字段 “site_id”。上面这两个表是通过 “site_id” 列联系起来的
先实际操作一下:
SELECT w.id,w.name,a.count,a.date from websites as w
INNER JOIN access as a
on w.id=a.site_id
执行结果:看起来有点乱,排一下序。
SELECT w.id,w.name,a.count,a.date from websites as w
INNER JOIN access as a
on w.id=a.site_id
ORDER BY id ASC
结果:看起来舒服多了
此语句主要是使用了内连接INNER JOIN,如下图,它只取两张表同时满足条件的行;
不同的 SQL JOIN
- INNER JOIN:如果表中有至少一个匹配,则返回行
- LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
- RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
- FULL JOIN:只要其中一个表中存在匹配,则返回行
MySQL从删库到跑路~
SQL学习笔记(04)_JOIN相关推荐
- MySQL学习笔记04【数据库的查询操作、今日内容、表的约束】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- 判断题:oracle自带的sql语言环境是pl/sql,Oracle之PL/SQL学习笔记之数据类型(三)
Oracle之PL/SQL学习笔记之数据类型(三) 所有的编程语言中变量是使用最频繁的.PL/SQL作为一个面向过程的数据库编程语言同样少不了变量,利用变量可以把PL/SQL块需要的参数传递进来,做到 ...
- 取得 Git 仓库 —— Git 学习笔记 04
取得 Git 仓库 -- Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区.索引.本地版本库之间的交互:二是本地版本库和远程版本库之间的交互.第一块是基础,第二块是难点. 下面, ...
- JavaWeb黑马旅游网-学习笔记04【BaseServlet抽取】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
- JavaWeb-综合案例(用户信息)-学习笔记04【删除选中功能】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb-综合案例(用户信息)-学习笔记01[列表查询] JavaWeb-综合案例(用户信息)-学习笔记02[登录功能] JavaWeb-综合案 ...
- JavaScript学习笔记04【高级——DOM和事件的简单学习、BOM对象】
w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...
- Spark学习笔记(7)---Spark SQL学习笔记
Spark SQL学习笔记 Spark SQL学习笔记设计到很多代码操作,所以就放在github, https://github.com/yangtong123/RoadOfStudySpark/bl ...
- CSS学习笔记-04 a标签-导航练习
个人练习,各位大神勿笑 .. <!DOCTYPE html> <html lang="en"> <head><meta charset= ...
- ES6学习笔记04:Set与Map
ES6学习笔记04:Set与Map JS原有两种数据结构:Array与Object,ES6新增两种数据结构:Set与Map 一.Set数据结构 Set类似于数组,但是成员值不允许重复,因此主要用于数据 ...
- Scala学习笔记04:内建控制结构
Scala学习笔记04:内建控制结构 scala提供的控制结构并不算多,因为在函数式编程中,可以自己开发出各种功能的控制结构,所以scala提供的原生控制结构仅仅够用为止. 1.if - 判断 if是 ...
最新文章
- ORACLE数据库在导入导出时序列不一致的问题
- asp.net core监控—引入Prometheus(五)
- 一张图教你如何选择机器学习算法
- SAP MM ‘Pricing Date Control‘字段的理解
- 系统封装教程集合电子书
- 我的博客面貌焕然一新
- C#中的值类型(value type)与引用类型(reference type)的区别
- Loadrunner脚本编程(3)- 检查点,关联等函数
- javascript 常用代码大全(4)
- 酷比魔方iwork12 linux,双系统二合一 酷比魔方iwork 12评测
- 使用java实现敏感词汇过滤功能
- 嵌入式软件架构设计(转载)
- 给定平面上任意三个点的坐标,检验它们能否构成三角形。
- git Untracked files
- Nazo前三十三关攻略
- uniapp登录页面加入图片验证码
- 微信小程序——比较数字大小案例
- oracle 10g 新特性中文笔记
- 第十一章:MATLAB:符号运算(符号与数值,符号矩阵)
- 中序和先序、中序和后序