T-SQL高级查询语句(父子查询)
T-SQL高级查询语句 高级查询 1.连接查询,对结果集列的扩展
select * from info select * from info,nation #形成笛卡尔积
select * from info,nation where info.nation=nation.code
select info.code,info.name,sex,nation.name,birthday from info,nation where info.nation=nation.code select * from info join nation on info.nation=nation.code 2.联合查询,对结果集行的扩展
select code,name from info
union
select code,name from nation

3.子查询 父查询:外层查询
子查询:里层查询 子查询的结果做为父查询的条件 (1)无关子查询
子查询在执行的时候和父查询没有关系,子查询可以单独执行 1.查询民族为‘汉族’的所有人员信息
父查询:select * from info where nation=()
子查询:select code from nation where name='汉族' select * from info where nation=(select code from nation where name='汉族')

2.查询系列名为‘宝马5系’的所有汽车信息 select * from car where brand=(select brand_code from brand where brand_name='宝马5系')

(2)相关子查询
子查询在执行的时候和父查询有关系,子查询不可以单独执行 1.查询汽车表中油耗小于该系列平均油耗的所有汽车信息
父查询:select * from car where oil<(该系列平均油耗)
子查询:select avg(oil) from car where brand=该系列 select * from car as a where oil<(select avg(oil) from car as b where b.brand=a.brand)

T-SQL高级查询语句(父子查询)的更多相关文章
- T-SQL:SQL Server-数据库查询语句基本查询
ylbtech-SQL Server-Basic:SQL Server-数据库查询语句基本查询 SQL Server 数据库查询语句基本查询. 1,数据库查询语句基本查询 数据库 SQL Serv ...
- SQL查询语句,怎样查询重复数据
SQL查询语句,怎样查询重复数据 2012-02-22 14:50神奇的马骁勇 | 浏览 0 次 有表A, 中有字段id, name, memo现在有很多id重复的数据,怎么把这些重复的都查出来?gr ...
- mysql查询语句select-子查询
1 子查询定义 在一个表表达中可以调用另一个表表达式,这个被调用的表表达式叫做子查询(subquery),我么也称作子选择(subselect)或内嵌选择(inner select).子查询的结果传递 ...
- access建立sql查询语句运行查询语句
1.打开一个Access数据库文件 2.点击“创建”标签中的“查询设计”,会弹出一个“显示表”的对话框,点击“关闭”将其关闭 3.这时会有一个名为“查询*”的窗口,还不能输入SQL语句 4.点击左上角 ...
- otl下直接用sql查询语句无法查询最新的记录的问题
最近操作mysql数据库遇到了一个很奇葩的问题,由于我的程序里需要实时读取最新的记录,所以我在程序中采用定时器每20秒读一遍数据库,但是发现除了第一次初始化读取数据库成功以外,后面最新的记录全部都读不 ...
- 最近学习的sql查询语句连接查询,标记一下
select wordbase.name,wb.name,wordconnection.wordid,wordconnection.aid,wordbase.goodsid,goods.hscode, ...
- [Mysql 查询语句]——对查询结果进一步的操作
distinct 不显示重复的查询结果 (1) 对于表中一些没有唯一性约束的字段,可能存在重复的值,这时可以使用distinct来消除那些查询结果中的重复值 select cust_id from ...
- MySQL数据库 : 查询语句,连接查询及外键约束
查询指定字段 select 字段1,字段2 from 表名; 消除重复行(重复指的是结果集中的所有完全重复行) select distinct 字段1,字段2.. ...
- [Mysql 查询语句]——分组查询group by
group by (1) group by的含义:将查询结果按照1个或多个字段进行分组,字段值相同的为一组(2) group by可用于单个字段分组,也可用于多个字段分组 select * from ...
- 【转】 [MySQL 查询语句]——分组查询group by
group by (1) group by的含义:将查询结果按照1个或多个字段进行分组,字段值相同的为一组(2) group by可用于单个字段分组,也可用于多个字段分组 select * from ...
随机推荐
- iOS数组去重的方法,超级简单
//最近新发现的一个数组去重,用不着循环,一句代码搞定 //去除数组中重复的 NSArray *oldArr = @[@"1",@"2",@"3&qu ...
- Oracle 时间字符 转
http://www.cnblogs.com/linximf/archive/2011/11/21/2257036.html oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对 ...
- 初次使用git,记录使用步骤
参考:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 https://git ...
- POJ 3480 John [博弈之Nim 与 Anti-Nim]
Nim游戏:有n堆石子,每堆个数不一,两人依次捡石子,每次只能从一堆中至少捡一个.捡走最后一个石子胜. 先手胜负:将所有堆的石子数进行异或(xor),最后值为0则先手输,否则先手胜. ======== ...
- SQL SERVER 技术博客 外文
https://www.sqlskills.com/blogs/paul/capturing-io-latencies-period-time/ http://www.sqlskills.com/bl ...
- html中常用的标签小结
内容详细标签: <h1>~<h6>标题标签<pre>格式化文本<u>下划线(underline)<i>斜体字(italics)<cit ...
- 修改密码删除登陆态,那其他正在登陆的app怎么办?
修改密码删除登陆态,那其他正在登陆的app怎么办?
- JVM中的内存分区简介
1.JVM的内存区域划分: 大多数 JVM 将内存区域划分为 Method Area(Non-Heap)(方法区) ,Heap(堆) , Program Counter Register(程序计数器) ...
- ylb:日期和时间函数
ylbtech-SQL Server:SQL Server-日期和时间函数 日期和时间函数. ylb:日期和时间函数 返回顶部 1,日期和时间函数获取(当前)日期 GetDate() 2,提取部分日期 ...
- Linux内核中等待队列的几种用法
Linux内核里的等待队列机制在做驱动开发时用的非常多,多用来实现阻塞式访问,下面简单总结了等待队列的四种用法,希望对读者有所帮助. 1. 睡眠等待某个条件发生(条件为假时睡眠): 睡眠方式:wait ...