sql 入门经典(第五版) Ryan Stephens 学习笔记 第四部分:建立复杂的数据库查询/
第十三章: 在查询表里结合表
1、等值结合 :
// 选择 tabla_a 和table_b 中id相等的行,输出 他们的id 和name
select table_a.id , table_a.name , table_b.id , table_b.name from table_a , table_b where table_a.id = table_b.id ;
或者使用 inner join
select table_a.id , table_a.name , table_b.id ,table_b.name from table_a inner join table_b on table_a.id = table_b.id;
或者使用别名
select a.id , a.name , b.id ,b.name from table_a a ,table_b b where a.id = b.id and a.salary > 2000;
2、不等值结合
与等值结合语法相同,只是将 等号改为 不等号但是不等值结合会输出多余的信息,因为 table A中每行数据都要和 table B中每一行数据进行比较 。
若a.id != b.id ,则输出 相应的信息。
3、外部结合
4、自结合
select a.last_name , a.first_name ,b.first_name , b.last_name from table_a a,table_a b where a.last_name = b.last_name ;
应用: 在一个保存了 雇员标示号码,姓名,雇员主管标示号码的表里。
select * from emp;
id name mgr_id
1 john 0
2 mary 1
3 steve 1
4 jack 2
5 sue 2
现在需要找到 雇员与 雇主的关系
select e1.name , e2.name from emp e1,emp e2 where e1.mgr_id = e2.id ;
name name
mary john
steve john
jack mary
sue mary
inner join / left join / right join 可以参考
http://www.cnblogs.com/xxlhcjh/p/4309982.html
第十四章: 使用子查询定义未确定的数据
1、 子查询与select 结合使用
select colum from table where column where columnb=(select colum_name from ...);
2、 子查询与inset结合使用
insert table1 select column1 from table2 where cloumn2>(select ......);
将表二中满足条件的某几项 插入到表1 中,注: 插入的项数 = table1的column数
3、 子查询与 update 结合使用
4、 子查询与delete 结合使用
第十五章: 组合多个查询
1、 union
select id from stu union select id from jobe ; // 当两个table中id相同时,不重复输出。
2、 union all
select id from stu union all select id from jobe ; // 当两个table中id相同时,重复输出。
sql 入门经典(第五版) Ryan Stephens 学习笔记 第四部分:建立复杂的数据库查询/的更多相关文章
- 《c#入门经典第五版》简介及pdf电子书网盘下载地址(收藏)
<C#入门经典(第5版)>全面讲解C# 2010和.net架构编程知识,为您编写卓越C# 2010程序奠定坚实基础.C#入门经典系列是屡获殊荣的C#名著和超级畅销书.最新版的<C#入 ...
- sql 入门经典(第五版) Ryan Stephens 学习笔记 后续——存储引擎
一.引擎基础 1 查看系统支持的存储引擎 show engines; 2 查看表使用的存储引擎两种方法: a.show table status from database_name where na ...
- sql 入门经典(第五版) Ryan Stephens 学习笔记 (第六,七,八,九,十章,十一章,十二章)
第六章: 管理数据库事务 事务 是 由第五章 数据操作语言完成的 DML ,是对数据库锁做的一个操作或者修改. 所有事务都有开始和结束 事务可以被保存和撤销 如果事务在中途失败,事务中的任何部分都不 ...
- sql 入门经典(第五版) Ryan Stephens 学习笔记 第五部分: 性能调整
第十六章: 利用索引改善性能 1. create index 单字段索引: create index index_name on table_name (column_name);唯一索引: ...
- sql 入门经典(第五版) Ryan Stephens 学习笔记 (第一,二,三,,四,五章)
SQL - Structured Query Language (结构化查询语言) 1/ SQL 命令的类型 : 数据定义语言: DDL 数据操作语言: DML 数据查询语言: DQL 数据控制语言 ...
- C#入门经典第五版之变量的更多内容编码题训练
1. 编写一个控制台应用程序,它接收用户输入的一个字符串,将其中的字符以与输入相反的顺序输出. public string ReverseString(string str) { string rev ...
- C#入门经典第五版之变量与表达式编码题训练
问题:编写一个控制台应用程序,要求用户输入4个int值,并显示它们的乘积.提示:可以使用Convert.ToDouble()命令,把用户在控制台上输入的数转换为double, 以此类推,转换成int命 ...
- BOOL运算符号(从C#入门经典第五版中摘录)
只总结自己觉得难的哈: (1) var1=!var2; //(非) (2) var1=var2&var3; //(与) (3)var1=var2|var3; //(或) (4 ...
- 《Python基础教程(第二版)》学习笔记 -> 第四章 字典
字典是Python中唯一内建的映射类型. 字典中的值并没有特殊的顺序,但是都存储在一个特定的键(Key)里.键可以是数字.字符串甚至是元组. 字典的使用 某些情况下,字典比列表更加适用: 表征游戏棋盘 ...
随机推荐
- AutoMapper映射ExpressionTree
问题描述 项目中使用AutoMapper进行VO&DTO&Entity的互相映射,但是默认Map方法不支持Expression的转换.如 Expression<Func<E ...
- Git的安装和使用记录
Git是目前世界上最先进的分布式版本控制系统(没有之一),只用过集中式版本控制工具的我,今天也要开始学习啦.廖雪峰的git教程我觉得很详细了,这里记录一下步骤以及我终于学会用Markdown了,真的是 ...
- ng-click
使用ng-clcik代码是发现其内的a标签失效: 于是测试下,发现绑定在document上的click事件在点击ng-click绑定的元素上也会失效: <div ng-click="c ...
- access中根据一个表创建另一个
access中根据一个表创建另一个 SELECT * INTO newTableFROM zD_qlr; SELECT * into mdFROM zd IN 'E:\fz\高阳\大姚\fz\bz\b ...
- Oracle执行计划与统计信息的一些总结
[日期:2011-08-05]来源:Linux社区 作者:wangshengfeng1986211[字体:大 中 小] 2010-07-01 15:03 1.SET AUTOTRACE ON EXP ...
- Force.com微信开发系列(三)申请测试账号及回复图文消息
Force.com除了简单的文本消息回复外,还能回复图文并茂的消息.能回复音乐或者视频.能对用户发来的语音进行识别.能够搜集用户的地理位置信息并提供相应的内容或服务等,本文将对这些技能一一展开说明,在 ...
- vc6.0连接mysql数据库
一.MySQL的安装 Mysql的安装去官网下载就可以...最新的是5.7版本.. 二.VC6.0的设置 (1)打开VC6.中选0 工具栏Tools菜单下的Options选项,在Directories ...
- git学习笔记2
工作区和暂存区 Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的github文件 ...
- 【读书笔记】iOS-对象初始化
一,分配对象. 分配是一个样的对象诞生的过程.最美好的时刻,是从操作系统获得一块内存并将其指定为存放对象的实例变量的位置.向某个类发送alloc消息的结果,就是为该类分配一块足够大的内存,以存放该内的 ...
- Markdown 五分钟速成
为了加强后续 Wiki 开发效率,请编写人员使用规定工具按照规范进行文档的编写. Windows 用户推荐使用编辑器 MarkdownPad 下载地址:http://markdownpad.com M ...