1.【列选取】从fruits表中获取f_name和f_price两列,T-SQL语句如下。

SELECT f_name,f_price FROM fruits;

2.【去重】查询fruits表中s_id字段的值,并返回s_id字段值不得重复。

SELECT DISTINCT s_id FROM fruits;

3.【列改名】查询fruits表,为f_name取别名‘名称’,f_price取别名‘价格’,T-SQL语句如下:

SELECT f_name AS ‘名称’,f_price AS ‘价格’

FROM fruits;

4.【查询显示的注释添加】

(1)查询fruits表,对表中的s_id和f_id添加说明信息。

SELECT ‘供应商编号:’,s_id,‘水果编号’,f_id FROM fruits;

(2)查询fruits表中所有水果的名称和价格,并对价格打八折

SELECT f_name,f_price 原价,f_price * 0.8 折扣价 FROM fruits;   --相当于省略了AS

5.EXISTS

查询suppliers表中是否存在s_id=107的供应商,如果存在则查询fruits表中的记录,T-SQL语句如下。

SELECT * FROM fruits

WHERE EXISTS

(SELECT s_name FROM suppliers WHERE s——id =107);

6.多列排序

查询fruits表中的f_name和f_price字段,先按f_name排序,再按f_price排序,T-SQL语句如下。

SELECT f_name,f_price FROM fruits ORDER BY f_name,f_price;

7.***GROUP BY分组

(1)根据s_id对fruits表中的数据进行分组,T-SQL语句如下。

SELECT s_id,COUNT(*) AS Total FROM fruits GROUP BY s_id;

(2)根据s_id和f_name字段对fruits表中的数据进行分组,T-SQL语句如下。

SELECT s_id,f_name FROM fruits group by s_id,f_name;

8.HAVING对分组结果过滤【和GROUP BY联合使用】

根据s_id对fruits表中的数据进行分组,并显示水果种类大于1的分组信息,语句如下:

SELECT s_id,COUNT(*) AS Total FROM fruits

GROUP BY s_id HAVING COUNT(*)>1;

9.使用COMPUTE子句对查询结果小计

GROUP BY子句返回的结果集中只有合计数据,而没有原始的详细记录,但是COMPUTE可以显示详细的记录、

使用COMPUTE子句产生fruits表中f_price字段的总和,要求将查询结果按s_id字段进行排序之后,再返回f_price字段的总和。

USE test

SELECT s_id,f_price,f_name

FROM fruits

ORDER BY s_id

COMPUTE SUM(f_price);

10.使用COMPUTE BY子句分组小计

11.使用UNION合并查询结果集

查询所有价格小于9的水果的信息,查询s_id等于101的所有水果的信息,使用UNION ALL连接查询结果,语句如下。

SELECT s_id,f_name,f_price

FROM fruits

WHERE f_price <9.0

UNION ALL

SELECT s_id,f_name,f_price

FROM fruits

WHERE s_id = 101;

12.****使用COUNT()统计

(1)COUNT(*):计算表中总的行数,不管某列有数值或者为空值;

(2)COUNT(字段名):计算指定列下总的行数,计算时将忽略字段值为空值的行。

SQL从零到迅速精通【查询利器】的更多相关文章

  1. SQL从零到迅速精通【表连接查询】

    看了这些表连接,个人感觉'左外连接'.'右外连接'和'全外连接'应用好就可以了. 1.外连接 (1)LEFT JOIN(左连接):返回包括左表中的所有记录和右表中连接字段相等的记录. 在student ...

  2. SQL从零到迅速精通【触发器】

    essay from:http://www.cnblogs.com/hoojo/archive/2011/07/20/2111316.html 触发器就类似一个小账本,记录了你在数据库做了哪些操作,可 ...

  3. SQL从零到迅速精通【实用函数(3)】

    1.LOWER()函数 使用LOWER函数将字符串中所有字幕字符转换为小写,输入语句如下. SELECT LOWER('BEAUTIFUL'),LOWER('Well'); 2.UPPER()函数 S ...

  4. SQL从零到迅速精通【实用函数(1)】

    语法是一个编程语言的基础,真的想玩的6得飞起还是要靠自己定义的函数和变量. 1.使用DECLARE语句创建int数据类型的名为@mycounter的局部变量,输入语句如下: DECLARE @myco ...

  5. SQL从零到迅速精通【数据更新】

    1.[导入表]在两个表的格式一样的情况下,将一个表的数据导入另外一个表. person_old表中现在有两条记录.接下来将person_old表中所有的记录插入到person表中,语句如下: INSE ...

  6. SQL从零到迅速精通【实用函数(2)】

    1.对查询结果进行排序 查询stu_info表中所有学生信息,并按照成绩由高到底进行排序,输入语句如下. SELECT * FROM stu_info ORDER BY s_score DESC;   ...

  7. SQL从零到迅速精通【数据库应用】

    数据库理论的研究主要集中于关系规范化理论和关系数据理论等.数据库技术与计算机技术的结合使得数据库中新的技术层出不穷.最初的数据库系统主要应用于银行管理.飞机订票等事务处理环境.后来渐渐应用于工程设计与 ...

  8. SQL从零到迅速精通【规则和约束】

    1.[创建规则] 为stu_info表定义一个规则,指定其成绩列的值必须大于0,小于100,输入语句如下. USE test_db; GO CREATE RULE rule_score AS @sco ...

  9. SQL从零到迅速精通【基本语句】

    1.使用T-SQL语句创建数据表authors,输入语句如下. CREATE TABLE authors { auth_id int PRIMARY KEY,--数据表主键 auth_name VAR ...

随机推荐

  1. Component、PureComponent源码解析

    1.什么是Component,PureComponent? 都是class方式定义的基类,两者没有什么大的区别,只是PureComponent内部使用shouldComponentUpdate(nex ...

  2. dotnet 替换 ASP.NET Core 的底层通讯为命名管道的 IPC 库

    这是一个用于本机多进程进行 IPC 通讯的库,此库的顶层 API 是采用 ASP.NET Core 的 MVC 框架,其底层通讯不是传统的走网络的方式,而是通过 dotnetCampus.Ipc 开源 ...

  3. 「NOI十联测」深邃

    「NOI十联测」深邃 要使得最大的连通块最小,显然先二分答案. 先固定1结点为根. 对于一个果实,显然是先处理子树中未分配的点,再向外延伸. 每个结点记录一个\(si[]\),表示子树中未分配的点数, ...

  4. JVM学习十一 - (复习)性能调优

    在高性能硬件上部署程序,目前主要有两种方式: 通过 64 位 JDK 来使用大内存: 使用若干个 32 位虚拟机建立逻辑集群来利用硬件资源. 使用 64 位 JDK 管理大内存 堆内存变大后,虽然垃圾 ...

  5. PHP中 die,die(),exit,exit(),return,return() 的区别

    die:是遇到错误才停止die():停止程序运行,输出内容exit:是停止程序运行,是直接停止,并且不运行后续代码,不输出内容exit():可以显示内容.exit(0):正常运行程序并退出程序:exi ...

  6. JavaWeb开发获取客户IP地址

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11737637.html 本地调试如果使用的是localhost进行访问, 则会获取到 0:0: ...

  7. python中的第一行#!

    一般python脚本的开通会写成 #! /usr/bin/python 这表示用/usr/bin目录下的这个python可执行文件来进行运行脚本 当然如果你还安装了其他版本的python,可以将第一行 ...

  8. Python基础—文件操作(Day8)

    一.文件操作参数 1.文件路径 1)绝对路径:从根目录开始一级一级查找直到找到文件. f=open('e:\文件操作笔记.txt',encoding='utf-8',mode='r') content ...

  9. MyBatis功能点二:MyBatis提供的拦截器平台

    前面关于MyBatis功能点二plugin已经介绍了一些应用及其实现的底层代码,本文总结MyBatis提供的拦截器平台框架体系. 通过MyBatis功能点二:从责任链设计模式的角度理解插件实现技术 - ...

  10. Mapper代理方式

    MyBatis入门初体验时,使用mapper的方式: 很奇怪,为什么只有interface二没有实现,怎么就可以从数据库中查出准确的数据.其实Mybatis利用了JDK动态代理实现了相应功能,下面详细 ...