上一章 说了下   子查询的意义是 把一条查询语句当做值来使用

select *from car   //查询汽车的信息

假设我知道一个汽车的编号是 c021

但是我要查询 比这个汽车价格高的汽车信息

先找到汽车编号是c021的   select *from car where code='c021'

在找这个汽车的价格        select price from car  where code='c021' //返回的是价格这个值

这个值是 31.75

那么我要找比这个价格高的汽车信息  select *from car where price >31.75

那么我要把31.75 换成上面的信息   那么语句合并写为

select *from car where price >(select price from car where code='c021')

那么这里的括号里面的就是子查询语句

但是子查询  查询出来的有时候不一定是一个值  而是多个值  那怎么办呢

那我们要用到子句查询

子句查询查询查出来的结果不一定是一个数  有可能是多个数  但是必须是一列

例如 我要查油耗 为7.4  8 8.2 的汽车信息

select *from car where oil=7.4 or oil =8 or oil 8.2    多写的话有点麻烦

这里要学到新的词句   改写为select *from car where oil  in ( 7.4 , 8 , 8.4 ) 、

意思是   油耗 满足 (7.4 ,8 ,8.4)任意一个值的信息拽出来

或者用code为c016  c029 c014查询油耗的汽车信息

select  oil from car where code in('c016','c029','c014')   返回的值也是 油耗 7.4   8   8.4

我要用code 查询油耗为(7.4    8   8.4)的汽车所有信息

select *from car where oil in

(

select oil from car where code in ('c016','c029','c014')

)

注意:语句可以换行   但是C#中不能换行   这里的语句后面可以加上--(双减号)代表的是注释

子句查询可以返回多行数据  但必须是一列

这里的   in不是代表的  or

例如  select *from where oil not in (7.4,8,8.4) 可以理解为都不满足

区间

查询油耗为7和8之间的

之前的是    select  *from car where oil>=7 and oil<=8

现在写为    select  *from car  where oil between 7 and 8

any 任意  all所有

select * from car where code in ('c016','c029','c014')

select *from car where oil > any (select oil from car where code in ('c016','c029','c014'))  //大于任意一个

但是还有最大那个

>any或者<any 的时候      any 是任意的意思        大于这一堆数据最小的那个    小于最大的

all   >all或者<all              al是所有                      大于或者小于包含all里面的数据

两个表拼接

例如我要用car的name 和brand 的 name拼接

图中brand_code和car的brand 有关联

那么   select  name,(select brand_name from brand where brand_code=car.brand) from car

SQL server 数据库基础语句 子查询 基础函数的更多相关文章

  1. SQL SERVER数据库新认识的一些基础知识

    最近要接触sql server的存储过程啦,在处理更加复杂的逻辑过程前,就来看一下这些sql的基础语法,感觉看啦一些复杂一点的sql语句,突然发现我是有多么的薄弱啊,所以在一些基础的语法上面我再重新整 ...

  2. SQL Server高级内容之子查询和表链接

    1.子查询概念 (1)就是在查询的where子句中的判断依据是另一个查询的结果,如此就构成了一个外部的查询和一个内部的查询,这个内部的查询就是自查询. (2)自查询的分类 1)独立子查询 ->独 ...

  3. SQL server 数据库 操作及简单查询

    使用SQL Sever语言进行数据库的操作 常用关键字identity 自增长primary key 主键unique 唯一键not null 非空references 外键(引用) 在使用查询操作数 ...

  4. [SQL SERVER系列]之嵌套子查询和相关子查询

    子查询有两种类型,一种是只返回一个单值的子查询,这时它可以用在一个单值可以使用的地方,这时子查询可以看作是一个拥有返回值的函数:另外一种是返回一列值的子查询,这时子查询可以看作是一个在内存中临时存在的 ...

  5. SQL server数据库表碎片比例查询语句

    For rebuilding index, here is also a script to figure out the fragmentation and decide whether rebui ...

  6. SQL Server数据库阻塞,死锁查询

    sql 查询卡顿数据库 SELECT SPID=p.spid, DBName = convert(CHAR(20),d.name), ProgramName = program_name, Login ...

  7. 2017-3-10 SQL server 数据库 T--SQL语句

    创建数据库:create datebase  数据库名     注:数据库名不能为中文,不能数字开头,不能符号开头. 删除数据库:drop datebase 数据库名 创建表:create   tab ...

  8. Sql Server数据库之多表查询

    一.连接查询 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据 目的:实现多表查询操作 语法:From join_table join_type join_table[ON(join_con ...

  9. SQL Server 数据库备份语句

    ); --文件名 DECLARE @date DATETIME; --日期 ); --文件存放路径 SELECT @date = GETDATE(); --获取当前时间 --根据当前时间自动生成文件名 ...

随机推荐

  1. py-day2-sys模块、os模块、运算符、列表、字典

    一.sys 模块 import sys print (sys.path)#打印环境变量 print(sys.aegv) #打印脚本的名字相对路径 print(sys.aegv)1 2 3 4 prin ...

  2. 同步数据库bat脚本

    在开发中, 如果需要将测试数据库同步到本地进行本地的测试, 可以执行一下脚本进行同步 @ECHO off TITLE databaseBackup REM : 该脚本会将 191 的 database ...

  3. Empire Strikes Back

    题意: 给定$K$个数字,求最小的正整数$n$,使得$\prod_{i=1}^{K}{a_i !} | n!$ 解法: 注意到$$\sum_{p为质数}{1/p} = O(loglogn)$$, 这样 ...

  4. UVaLive 6847 Zeroes (找规律,水题)

    题意 :给定一个范围,然后让你求在这个范围内所有的数的阶乘末尾0的个数有多少种. 析:找规律,写几个就会发现每隔5个会增加一个0,因为要么乘10了,要么乘5了. 代码如下: #pragma comme ...

  5. 重温sql 设计的基本三大范式

    第一范式:确保每列的原子性. 如果每列(或者每个属性)都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式. 例如:顾客表(姓名.编号.地址.……)其中"地址"列还可 ...

  6. 51nod1639(组合数学)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1639 题意:中文题诶- 思路:组合数学 n根鞋带要组成一个环, ...

  7. js对象 数组Array详解 (参照MDN官网:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)

    一:数组的创建方式: 1.采用直接量创建 var arr = [];//创建一个空数组 var arr2 = [1,2,3];//创建一个有三个元素的数组 2.采用构造函数创建 a.var arr1 ...

  8. Bootstrap Table 从新InsertRow 刷新表格 数据的问题处理方案

    1.第一步获取数据源 var rows = { //要插入的数据,这里要和table列名一致SkuCode: data.rows[i].SkuCode,BarCode: data.rows[i].Ba ...

  9. Apollo应用相关JVM配置参数

    -Dapollo_profile=github,auth-Ddev_meta=http://localhost:8080/-Dserver.port=8070-Dspring.datasource.u ...

  10. iOS 7:漫谈#define 宏定义

           #define宏定义在C系开发中可以说占有举足轻重的作用.底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可以说底层开发离开define将寸步难行.而在更高层级进行开 ...