码迷,mamicode.com
首页 > 数据库 > 详细

SQL Server编程比知必会 -- (1-20点总结)

时间:2015-10-10 18:43:08      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:区分大小写   关键字   scratch   数据库   订单号   

--1. 常用的存储过程
sp_databases
--返回可用的数据库的一个列表

sp_tables
--返回当前选择的数据库内可用表的列表,不仅包括你自己的表,还包括系统表和其他表

sp_tables null, dbo, scratch,"‘table‘"
--只返回当前选择的数据库的可用表,不包括视图和系统表

sp_columns ARPU
--显示表ARPU的列

--2. 标识:表示某些表列需要唯一值,如订单号,在表增加一行时,SQL Server能自动分配下一个可用的编号;

--3. 结束SQL语句,多条SQL 语句必须以分号;分隔。 也可以不加,但是加上去可读性比较强;

--4. SQL语句不区分大小写,习惯对SQL 关键字大写,对所有列和表名使用小写,易于阅读和调试;

--5. 空白,处理SQL语句时,所有空白都被忽略,SQL 语句分成多行更容易阅读和调试;

--6. 查询多个列,列之间用,逗号分隔;

-- 将值与串数据类型的列进行比较,则需要限定引号。用来与数值列进行比较的值不用引号;


-----------------------SELECT 检索数据-----------------------
--7. 仅返回不同的行
-- SELECT DISTINCT vend_id
-- FROM products;

-- 8. DISTINCT用于所有的行,将所有不同的行输出
-- SELECT DISTINCT vend_id,prod_price
-- FROM products;

-- 9. 限制结果:只显示前5行数据;
--SELECT TOP(5) prod_name
--FROM products;

-- 10. 限制结果:只显示表的前25%行数据;
--SELECT TOP(25) PERCENT prod_name
--FROM products;

-- 11. 使用完全限制的表名查询;
SELECT products.prod_name
--表名.列名
FROM crashcourse.dbo.products
--数据库名.表所有者名.表名


---------------------------排序 检索数据--------------------------
-- 12. 对prod_name列以字母顺序排序,使用order by,默认升序排列(ASC)
SELECT prod_name
FROM products
ORDER BY prod_name;

-- 按prod_name,降序排序
SELECT prod_name
FROM products
ORDER BY prod_name DESC;

-- 13. 按多个列排序,检索3列,并按其中两列对结果进行排序-- 首先按价格,然后再按名称排序
SELECT prod_id,prod_price,prod_name
FROM products
ORDER BY prod_price,prod_name;

-- 14. 指定排序方向:按多个列排序,检索3列,并按其中两列对结果进行排序-- 首先按价格降序,然后再按名称排序
SELECT prod_id,prod_price,prod_name
FROM products
ORDER BY prod_price DESC,prod_name;

-- 15. 找到一列中的最大值,最贵产品的价格
SELECT TOP(1) prod_price
FROM products
ORDER BY prod_price DESC;

-- 16. 找到一列中的最小值
SELECT TOP(1) prod_price
FROM products
ORDER BY prod_price ASC;


---------------------------过滤 数据--------------------------
----------搜索条件(search criteria)  即过滤条件(filter condition)

-- 17. 检查单值: 使用where 子句,返回prod_price 值为2.50的行
SELECT prod_name, prod_price
FROM products
WHERE prod_price = 2.50;

-- ORDER BY 语句需要位于WHERE 子句后面,否则会出错
SELECT prod_name, prod_price
FROM products
WHERE prod_price = 2.50
ORDER BY prod_name DESC

-- 18. 不匹配检查: 列出不是由供应商1003制造的所有产品
SELECT vend_id, prod_name
FROM products
WHERE vend_id <> 1003;
--WHERE vend_id != 1003;

-- 19. 范围检查: 检索价格在5美元和10美元之间的所有产品
SELECT prod_name, prod_price
FROM products
WHERE prod_price BETWEEN 5 AND 10;
--WHERE prod_price >= 5 AND prod_price <= 10;

-- 20. 空值检查: 返回用户电子邮件为NULL的值
SELECT cust_id
FROM customers
where cust_email IS NULL

--返回产品表中产品价格为NULL的产品名称,由于没有匹配项,输出为空
SELECT prod_name
FROM products
WHERE prod_price IS NULL


本文出自 “Ricky's Blog” 博客,请务必保留此出处http://57388.blog.51cto.com/47388/1701578

SQL Server编程比知必会 -- (1-20点总结)

标签:区分大小写   关键字   scratch   数据库   订单号   

原文地址:http://57388.blog.51cto.com/47388/1701578

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!