联合结果集union(集合运算符) 集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐式转换的),最终输出的集合的列名由第一个集合的列名来确定.(可以用来连接多个结果) 联合(union)与连接(join)不一样 简单的结果集联合(老师.学生): select tName,tSex from teacher union select sName,sSex from student 基本的原则:每个结果集必须有相同的列数:每个结果集的列必须类型相容.  sel…
一. 联合查询    UNION, INTERSECT, EXCEPT UNION运算符可以将两个或两个以上Select语句的查询结果集合合并成一个结果集合显示,即执行联合查询.UNION的语法格式为:       select_statement    UNION [ALL] selectstatement   [UNION [ALL] selectstatement][…n] 其中selectstatement为待联合的Select查询语句.     ALL选项表示将所有行合并到结果集合中.…
执行备注中的代码创建测试数据表. 简单的数据检索 :SELECT * FROM Student 只检索需要的列 :SELECT sName FROM Student .ame FROM Student WHERE sSex=‘女’. 还可以检索不与任何表关联的数据:select 1+1;select getdate(); 可以为列起别名 Top.Distinct Top 获取前几条数据,top一般都与order by连用 获得年纪最小的5个学生           Select top 5 sN…
多表查询 * 当我们的一条记录 分散不同的表中时,就需要进行多表查询 例如 一对一 一对多 多对多 1.笛卡尔积查询 意思是将两个表中的所有数据 全部关联在一起   例如 a表 有2条 b表有3条   一共6条   会产生大量的错误数据 需要用添加来过滤select *from 表1,表2,....... where 过滤条件​连接查询内连接查询 inner jon   select *from 表1 join 表2 on 关系过滤条件   两边的数据必须完全匹配成功才显示     select…
目录 1 内连接(inner join) 1.1 隐式的内连接 1.2 显式的内连接 2 外连接(outer join) 2.1 左连接(left outer join) 2.2 右连接(right outer join) 2.3 全外连接(full outer join) 3 自连接(self-join) 4 自然连接(natural join) 5 交叉连接 shanzm 1 内连接(inner join) 内连接又称为等值连接(equal join),他是基于两个表之间的某列相等来做连接.…
-- 执行sql文件 test.sql -- 打开终端 -- cd sql文件所在路径 -- 进入mysql -- use 数据库 -- 执行 source test.sql; -- 自关联 -- 一张表的字段,关联自己的另一字段 -- 一张表包含所有中国区域,实现自关联 select * from china as p inner join china as c on p.id=c.pid having p.name="四川省"; select p.name as "省份&…
参考地址:http://blog.csdn.net/u011277123/article/details/54863371 1.MySQL连接查询 连接查询:将多张表(>=2)进行记录的连接(按照某个指定的条件进行数据拼接). 连接查询的意义: 在用户查看数据的时候,需要显示的数据来自多张表. 连接查询分类:SQL中将连接查询分成四类: 内连接,外连接,自然连接和交叉连接 1.1.交叉连接: 交叉连接: cross join, 从一张表中循环取出每一条记录, 每条记录都去另外一张表进行匹配: 匹…
一.引言 有时为了得到一张报表的完整数据,需要从两个或更多的表中获取结果,这时就用到了"连接查询". 二.连接查询 连接查询的定义: 数据库中的表通过键将彼此联系起来,从而获取这些表中的数据 连接查询的语法: ROM  join_table join_type join_table[ON (join_condition)] 其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接又称做自连接.join_type 指出连接类型.joi…
GROUP BY和HAVING子句 GROUP BY子句 用于将信息划分为更小的组每一组行返回针对该组的单个结果 --统计每个部门的人数: Select count(*) from emp group by deptno; --根据部门分组,并统计 Select deptno, count(*) form emp group by deptno; select deptno, avg(sal) from emp group by deptno; --每个部门的平均工资 HAVING子句 用于指定…
一,分组查询 使用ORDER BY子句将表中的数据分成若干组(还是按行显示) 语法: SELECT 字段名[,聚集函数] FROM 表名 [WHERE子句] GROUP BY 要分组的字段名 [ORDER BY子句] 需要注意的是:在GROUP BY子句后出现的字段名必须在SELECT后的查询的字段中 1.分组查询中筛选条件分为两种: 类别 筛选数据源 在语句中的位置 使用的关键字 分组前筛选 原始数据表 GROUP BY子句前 WHERE 分组后筛选 分组后的结果集 GROUP BY子句后 H…