SQL基础教程(第2版)第7章 集合运算:7-2 联结(以列为单位对表进行联结)

7-2 联结(以列为单位对表进行联结)

■外联结——OUTER JOIN
■ 3张以上的表的联结
■交叉联结——CROSS JOIN
■联结的特定语法和过时语法

● 联结( JOIN)就是将其他表中的列添加过来,进行“添加列”的集合运算。UNION是以行(纵向)为单位进行操作,而联结则是以列(横向)为单位进行的。

● 请大家一定要使用标准SQL的语法格式来写联结运算,对于那些过时的或者特定SQL中的写法,了解一下即可,不建议使用。



■什么是联结



■内联结——INNER JOIN

首先我们来学习内联结( INNER JOIN),它是应用最广泛的联结运算。 
本例中我们会继续使用Product 表和第 6 章创建的ShopProduct表。下面我们再来回顾一下这两张表的内容。 

试着从 Product 表中取出商品名称(product_name)和销售单价(sale_price),并与ShopProduct 表中的内容进行结合,所得到的结果如下所示。



由于表名太长会影响 SQL 语句的可读性,因此还是希望大家能够习惯使用别名。


像这样使用联结运算将满足相同规则的表联结起来时, WHERE、GROUP BY、 HAVING、 ORDER BY 等工具都可以正常使用。我们可以将联结之后的结果想象为新创建出来的一张表(表 7-4) 
如果希望继续使用这张“表”,还是将它创建成视图吧。



SQL基础教程(第2版)第7章 集合运算:7-2 联结(以列为单位对表进行联结)

原文地址:https://www.cnblogs.com/MarlonKang/p/12234542.html

时间: 2024-07-28 14:50:56

SQL基础教程(第2版)第7章 集合运算:7-2 联结(以列为单位对表进行联结)的相关文章

Ajax本地跨域问题 Cross origin requests are only supported for HTTP(针对jQuery基础教程第四版第六章)

出现的问题: 解决的步骤: 谷歌浏览器出现的效果: 针对jQuery基础教程(第四版),第六章  成功: 原文地址:https://www.cnblogs.com/qinghui258/p/8432569.html

[SQL基础教程.第3版](冯宇晖&贾文峰)PDF版

链接:https://pan.baidu.com/s/1gNUholoLdE4JPQakzs3eDg 原文地址:http://blog.51cto.com/13929572/2175890

笔记-Python基础教程(第二版)第一章

第一章 快速改造:基础知识 01:整除.乘方 (Python3.0之前 如2.7版本) >>> 1/2 ==>0 1/2整除,普通除法: 解决办法1: 1.0/2.0  ==>0.5 解决办法2:from _future_ import division 1/2  ==>0.5 // 表示整除 >>>1//2 ==>0 浮点数//浮点数,结果依然是整除结果 >>>1.0//2.0 ==>0.0 实际操作截图: ** 表示乘

python基础学习笔记——Python基础教程(第2版 修订版)第一章

#模块 import math math.floor(9) from math import sqrt sqrt(9) #无需使用前缀 import cmath cmath.sqrt(-1) #不能使用from...inport #转义和单双引号 >>>"\"hello,word\"she said" '"hello,word"she said' #使用print不显示引号 #拼接字符串  + #输入 input raw_inp

python基础学习笔记——Python基础教程(第2版 修订版)第二章(列表和元祖)

#列表可修改,元祖不能 A=['sdsd',43] B=['sds',45] C=[A,B] #分片 : - #list函数 #分片赋值 #列表方法 lst.append(4) x.count(1) x.count([1,2]) a.extend(b) a.index("w") a.insert(3,"都")x.removex.reversex.sort #pop 移除列表元素,并返回值.实现数据结构-栈,LIFO(后进先出),x.append(x.pop()),先

jQuery基础教程(第四版)第3章练习:

关于答案: // // (1) 在Charles Dickens被单击时,给它应用 selected 样式.$(document).ready(function() { $('#header').on('click',function() { $('.author').addClass('selected') });}) // (2) 在双击章标题( <h3 class="chapter-title"> )时,切换章文本的可见性.$(document).ready(func

jQuery基础教程(第四版)第4章练习:

关于答案: // (1) 修改样式表,一开始先隐藏页面内容,当页面加载后,慢慢地淡入内容:$(document).ready(function() { $('body').hide().fadeIn(4000);}) // (2) 在鼠标悬停到段落上面时,给段落应用黄色背景:$(document).ready(function() { $('p').mousemove(function(event) { //鼠标进入的时候 $(this).css('background','yellow');

SQL基础教程(第2版)第3章 聚合与排序:3-1 对表进行聚合查询

聚合函数 COUNT: 计算表中的记录数(行数)SUM: 计算表中数值列中数据的合计值AVG: 计算表中数值列中数据的平均值MAX: 求出表中任意列中数据的最大值MIN: 求出表中任意列中数据的最小值 计算NULL之外的数据的行数 该特性是 COUNT 函数所特有的,其他函数并不能将星号作为参数(如果使用星号会出错).  计算合计值 对于 SUM 函数来说,即使包含 NULL,也可以计算出合计值. 计算平均值 使用聚合函数删除重复值(关键字DISTINCT) SQL基础教程(第2版)第3章 聚合

SQL基础教程(第2版)第3章 聚合与排序:3-3 为聚合结果指定条件

HAVING子句 HAVING子句的构成要素 笔者认为,聚合键所对应的条件还是应该书写在 WHERE 子句之中.理由有两个.首先,根本原因是 WHERE 子句和 HAVING 子句的作用不同.如前所述, HAVING 子句是用来指定“组”的条件的.因此,“行”所对应的条件还是应该写在 WHERE 子句当中.这样一来,书写出的 SELECT 语句不但可以分清两者各自的功能,理解起来也更加容易. WHERE 子句 = 指定行所对应的条件HAVING 子句 = 指定组所对应的条件其次,对初学者来说,研