SQLServer:《SQL必知必会》一书的读书笔记(二)
2015-07-15 12:27
483 查看
第2课 检索数据
2.1 SELECT 语句
用途:从一个或多个表中检索数据信息
关键字:作为SQL组成部分的保留字。关键字不能用作表或列的名字。
为了使用SELECT检索表数据,必须至少给出两条信息:
想选择什么,
从什么地方选择。
2.2 检索单个列
SELECT prod_name FROM Products; -- 分析:利用 SELECT 语句从 Products 表中检索一个名为 prod_name 的列。 -- 所需的列名写在 SELECT 关键字之后,FROM 关键字指出从哪个表中检索数据.
【提示】使用“;”和将语句拆分成多行可增强可读性
【提示】SQL 语句不区分大小写,即“SELECT”和“select”一样;但是表名、列名和值可能有所不同。
2.3 检索多个列
从一个表中检索多个列,仍然使用相同的 SELECT 语句。唯一的不同是必须在 SELECT 关键字后给出多个列名,列名之间用逗号隔开
SELECT prod_id, prod_name, prod_price FROM Products; -- 分析:使用 SELECT 语句从表 Products 中选择 3 列数据
2.4 检索所有列(*)
除了指定所需的列外,SELECT 语句还可以检索所有的列而不必逐个列出它们。在实际列名的位置使用星号(*)通配符可以做到
SELECT * FROM Products -- 分析:如果给定一个通配符(*),则返回表中所有的列。列的顺序一般是列在表定义中出现的物理顺序。
【注意】除非确实需要表中的每一列,否则最好别使用 * 通配符。检索不需要的列通常会降低检索和应用程序的性能。
2.5 检索不同的值(DISTINCT)
SELECT 语句返回所有匹配的行,但是我们并不希望每个值每次都出现,这该怎么办?
假如,你想检索 products 表中所有产品供应商的 id
SELECT vend_id FROM Products
发现存在重复值,怎么解决呢?方法就是使用 DISTINCT 关键字
SELECT DISTINCT vend_id FROM Products -- 分析:SELECT DISTINCT vend_id 告诉 DBMS 只返回(具有唯一性)的 vend_id 行。如果使用 DISTINCT 关键字,必须直接放在列名前面。
【注意】DISTINCT 关键字作用于所有列,除非指定两列完全相同,否则所有的行都会被检索出来
2.6 限制返回的行数(TOP)
SELECT 语句返回指定表中所有匹配的行。如果我们只想返回第一行或者一定数量的行,该怎么办呢?
-- 使用 TOP 关键字
SELECT TOP 5 prod_name FROM Products -- 分析:使用 SELECT TOP 5 语句,只检索前 5 行数据
2.7 使用注释(-- 和 /* */)
行内注释:使用“--”
SELECT * --行内注释 FROM Products;
多行注释:使用“/* */”
/* 多行注释 SELECT * FROM Products; */
续集:
SQLServer:《SQL必知必会》一书的读书笔记(目录)
SQLServer:《SQL必知必会》一书的读书笔记(三)
相关文章推荐
- 用redis实现社交产品中计数器
- mysql int(m)与int(m)的区别
- 用SQL语句去掉重复的记录(转)
- TECHNOLOGY: Oracle ADF Service, Please!
- sql 登录注入
- PHP + Memcache 实现多服务器session共享
- EF中数据库切换为本地
- MYSQL_FIELD
- oracle数据库中drop table与purge使用实例
- SQLServer:《SQL必知必会》一书的读书笔记(目录)
- sqlHelper封装类,用于对数据库的操作,此类将查询操作中返回的结果集传递给了一个数组,直接将资源关闭
- 服务器突然断电导致SQL SERVER 2008 数据库状态为“可疑”的解决方法
- MySQL联合查询语法内联、左联、右联、全联
- Oracle B-tree、位图、全文索引三大索引性能比较及优缺点汇总
- [PHP]memcache安装
- Oracle同义词创建及其作用
- 彻底卸载sql sever 2005
- 在SUM()行数中使用SQL变量导致不可预测结果
- SQLDMO注册
- MVC Link连接数据库增删改查方法的不同写法