当前位置: 首页 > news >正文

数据库学习纪要(十二):SQL Sever介绍-4

十四、组合查询
SQL允许执行多个查询(多条SELECT语句),并将结果作为单个查询结果集返回。这些组合查询通常称为并(union)或复合查询(compound query)。
任何具有多个WHERE子句的SELECT语句都可以作为一个组合查询给出。
1、使用UNION
给出每条SELECT语句,在各条语句之间放上关键之UNION。
举例:假如需要位于Illinois、Indiana和Michigan的所有客户的一个报表,而且还想包括所有Fun4All单位而不管位于哪个州。
单条语句
SELECT cust_name, cust_contact, cust_email
FROM Customers
WHERE cust_state IN ('IL', 'IN', 'MI');

SELECT cust_name, cust_contact, cust_email
FROM Customers
WHERE cust_name = 'Fun4All';

组合语句
SELECT cust_name, cust_contact, cust_email
FROM Customers
WHERE cust_state IN ('IL', 'IN', 'MI')
UNION
SELECT cust_name, cust_contact, cust_email
FROM Customers
WHERE cust_name = 'Fun4All';

或者可以用WHERE语句
SELECT cust_name, cust_contact, cust_email
FROM Customers
WHERE cust_state IN ('IL', 'IN', 'MI')
OR cust_name = 'Fun4All';

UNION规则:
1)UNION必须由两条或两条以上的SELECT语句组成,语句之间用关键字UNION分隔。
2)UNION中的每个查询必须包含相同的列、表达式或聚集函数
3)列数据类型必须兼容:类型不必完全相同,但必须是DBMS可以隐含地转换的类型

2、对组合查询结果排序
在用UNION组合查询时,只能使用一条ORDER BY子句,它必须出现在最后一条SELECT语句之后。
SELECT cust_name, cust_contact, cust_email
FROM Customers
WHERE cust_state IN ('IL', 'IN', 'MI')
UNION
SELECT cust_name, cust_contact, cust_email
FROM Customers
WHERE cust_name = 'Fun4All'
ORDER BY cust_name, cust_contact;

十五、插入数据
INSERT是用来插入(或添加)行到数据库表的,通常以下列几种方式使用:
1)插入完整的行
2)插入行的一部分
3)插入某些查询的结果

1、插入行
INSERT INTO Custmoers(cust_id,
cust_contact,
cust_email)
VALUES('1000000006',
NULL,
NULL)

注:如果某个列没有值,应该使用NULL值。

2、插入检索出的数据
INSERT INTO Customers(cust_id,
cust_contact,
cust_email)
SELECT cust_id,
cust_contact,
cust_email
FROM CustNew;

十六、更新和删除数据
1、更新数据
可采用两种方式使用UPDATE:
1)更新表中特定行
2)更新表中所有行
UPDATE Customers
SET cust_email = 'kim@thetoystore.com',
    cust_contact = 'Sam Roberts',
    cust_name = NULL (注:等价于删除某个值)
WHERE cust_id = '10000000006';

2、删除数据
可采用两种方式使用DELETE:
1)从表中删除特定的行
2)从表中删除所有行
SELECT FORM Customers
WHERE cust_id = '100000006';

http://www.taodudu.cc/news/show-2639135.html

相关文章:

  • 【physx/wasm】在physx中添加自定义接口并重新编译wasm
  • excel---常用操作
  • Lora训练Windows[笔记]
  • linux基础指令讲解(ls、pwd、cd、touch、mkdir)
  • InnoDB 事务处理机制
  • 启明云端ESP32 C3 模组WT32C3通过 MQTT 连接 AWS
  • MapReduce之幺半群
  • 【后端】--process information unavailable解决办法[详细版]
  • ISCC2017 Misc write up附件题目文件
  • [割点问题]HOJ 12307 Disconnected Pair
  • 计算几何专项:UVa 12307
  • asp dotnet core 从零开始创建一个 WebApi 服务
  • UVa 12307 Smallest Enclosing Rectangle(旋转卡壳+最小覆盖矩形)
  • uva 12307(点集的外接矩形)
  • UVA 12307 Smallest Enclosing Rectangle(旋转卡壳)
  • uva 12307 - Smallest Enclosing Rectangle(旋转卡壳)
  • UVA 12307 Smallest Enclosing Rectangle
  • UVA 12307 旋转卡壳
  • uva12307(旋转卡壳)
  • UVA12307 Smallest Enclosing Rectangle 题解
  • numpy.ptp
  • gPTP与PTP理解资料参考
  • linux下ptp性能测试
  • 时统ptp_IEEE1588 PTP对时系统原理及特点
  • 时统ptp_IEEE1588对时系统,PTP校时模块,PTP时钟服务器
  • linuxptp源码研究
  • ptp输出内容包含什么_PTP技术及其应用分析
  • IEEE1588 Precision Time Protocol(PTP)
  • Linuxptp安装部署
  • Ubuntu 设置PTP时间同步
  • PTP时间同步
  • ptp4l linux,如何使用PTP4l测试PTPV2协议精度?
  • android ptp 源码分析,ptp增加豆瓣评分
  • PTP移植
  • linuxptp分析
  • ptp输出内容包含什么_PTP 无线传输