SQL从零到迅速精通【查询利器】
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从零到迅速精通【查询利器】的更多相关文章
- SQL从零到迅速精通【表连接查询】
看了这些表连接,个人感觉'左外连接'.'右外连接'和'全外连接'应用好就可以了. 1.外连接 (1)LEFT JOIN(左连接):返回包括左表中的所有记录和右表中连接字段相等的记录. 在student ...
- SQL从零到迅速精通【触发器】
essay from:http://www.cnblogs.com/hoojo/archive/2011/07/20/2111316.html 触发器就类似一个小账本,记录了你在数据库做了哪些操作,可 ...
- SQL从零到迅速精通【实用函数(3)】
1.LOWER()函数 使用LOWER函数将字符串中所有字幕字符转换为小写,输入语句如下. SELECT LOWER('BEAUTIFUL'),LOWER('Well'); 2.UPPER()函数 S ...
- SQL从零到迅速精通【实用函数(1)】
语法是一个编程语言的基础,真的想玩的6得飞起还是要靠自己定义的函数和变量. 1.使用DECLARE语句创建int数据类型的名为@mycounter的局部变量,输入语句如下: DECLARE @myco ...
- SQL从零到迅速精通【数据更新】
1.[导入表]在两个表的格式一样的情况下,将一个表的数据导入另外一个表. person_old表中现在有两条记录.接下来将person_old表中所有的记录插入到person表中,语句如下: INSE ...
- SQL从零到迅速精通【实用函数(2)】
1.对查询结果进行排序 查询stu_info表中所有学生信息,并按照成绩由高到底进行排序,输入语句如下. SELECT * FROM stu_info ORDER BY s_score DESC; ...
- SQL从零到迅速精通【数据库应用】
数据库理论的研究主要集中于关系规范化理论和关系数据理论等.数据库技术与计算机技术的结合使得数据库中新的技术层出不穷.最初的数据库系统主要应用于银行管理.飞机订票等事务处理环境.后来渐渐应用于工程设计与 ...
- SQL从零到迅速精通【规则和约束】
1.[创建规则] 为stu_info表定义一个规则,指定其成绩列的值必须大于0,小于100,输入语句如下. USE test_db; GO CREATE RULE rule_score AS @sco ...
- SQL从零到迅速精通【基本语句】
1.使用T-SQL语句创建数据表authors,输入语句如下. CREATE TABLE authors { auth_id int PRIMARY KEY,--数据表主键 auth_name VAR ...
随机推荐
- Atcoder ARC-058
ARC058(2020.7.4) A 从高到低依次填入能填的最小值即可. B 首先可以发现这个区间实际上只有横着的一条边有用,那么我们可以在边界上枚举中转点使得不经过非法区域即可. C 挺神的一道题. ...
- RabbitMQ简介及安装
AMQP简介 AMQP AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是进程之间传递异步消息的网络协议. AMQP工作过程 发布者(Publisher ...
- 理解java线程的中断(interrupt)
一个线程在未正常结束之前, 被强制终止是很危险的事情. 因为它可能带来完全预料不到的严重后果比如会带着自己所持有的锁而永远的休眠,迟迟不归还锁等. 所以你看到Thread.suspend, Threa ...
- XML 中如何输入回车换行
XML 中如何输入回车换行? XML 特殊字符: 下面的字符在 [XML]中被定义为 空白(whitespace)字符: 空格 ( ) Tab ( ) 回车 ( ) 换行 ( ) XML 中如何输入回 ...
- php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
我们知道数据库处理sql是一条条处理的,假设购买商品的流程是这样的: sql1:查询商品库存 1 if(库存数量 > 0) 2 { 3 //生成订单 4 //库存-1 5 > 当没有并发时 ...
- 阿里云无法ping通解决
https://blog.csdn.net/longgeaisisi/article/details/78429099
- linux实用技巧:在虚拟机vmware16软件上安装CentOs8.2虚拟机,重置可用源和安装输入法
前言 开发服务器应用,需要使用到CentOs8.2,安装到虚拟机上方便快捷. 提前准备 Vmware 16虚拟机软件 下载VM16版本及以上的vmware虚拟机版本,否则没有CentOs8选 ...
- Java数据库连接池--DBCP浅析.
一. 为何要使用数据库连接池假设网站一天有很大的访问量,数据库服务器就需要为每次连接创建一次数据库连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出.拓机.数据库连接是一种关键的有限的昂贵 ...
- PHP实习生面试准备的建议
你好,是我琉忆.PHP程序员面试笔试图书系列作者. 今天就跟大家聊聊作为一个PHP程序员,每年的跳槽季都应该怎么准备一番. 其实普遍的跳槽季总的就有2个. 分别是新年后的3-4月,还有9-10月份. ...
- Solution -「Gym 102798I」Sean the Cuber
\(\mathcal{Description}\) Link. 给定两个可还原的二阶魔方,求从其中一个状态拧到另一个状态的最小步数. 数据组数 \(T\le2.5\times10^5\). ...