SQL 必知必会
2019-03-10 20:53:31 117 举报
AI智能生成
《SQL必知必会》是一本经典的数据库入门书籍,它详细介绍了SQL语言的基本概念、语法和操作方法。本书适合初学者阅读,也适合有一定经验的开发人员进行复习和提高。书中通过大量的实例和练习题,帮助读者掌握SQL的基础知识和应用技巧,包括表的创建、数据的插入、查询、更新和删除等操作。此外,本书还介绍了一些高级主题,如视图、存储过程和触发器等。总之,《SQL必知必会》是一本值得一读的SQL学习资料。
作者其他创作
大纲/内容
2. 检索数据
1. SELECT 语句
用途:从一个或多个表中检索出信息
需要明确:想要选择什么;从什么地方选择
2. 检索单个列
SELECT prod_name FROM products;
所需列名写在SELECT 关键字之后
FROM 关键字指出从哪个表中检索数据
SQL 语句不区分大小写
3. 检索多个列
在 SELECT 关键字后列出所有列名并用逗号分隔
SELECT prod_id, prod_name, prod_price
FROM products;
FROM products;
4. 检索所有列
在实际列名的位置使用星号(*)通配符即可
SELECT *
FROM products;
FROM products;
检索出不需要的列会降低检索和应用程序的性能
如果不明确指定的列名,那么使用通配符是个不错的选择
5. 检索不同的值
使用 DISTINCT 关键字可以返回不同的值,即将检索结果去重
SELECT DISTINCT vend_id
FROM products;
FROM products;
如果检索多列数据,只要这几列数据不完全相同,就会被检索出来
6. 限制结果
SQL Server/Access
TOP 关键字
SELECT TOP 5 prod_name
FROM Products;
FROM Products;
DB2
FETCH FIRST 5 ROW ONLY
SELECT prod_name
FROM Products
FETCH FIRST 5 ROWS ONLY;
FROM Products
FETCH FIRST 5 ROWS ONLY;
Oracle
ROWNUM
SELECT prod_name
FROM Products
WHERE ROWNUM <=5;
FROM Products
WHERE ROWNUM <=5;
MySQL/MariaDB/PostgreSQL/SQLite
LIMIT 关键字
SELECT prod_name
FROM products
LIMIT 5;
FROM products
LIMIT 5;
OFFSET 关键字
SELECT prod_name
FROM products
LIMIT 5 OFFSET 5;
FROM products
LIMIT 5 OFFSET 5;
SELECT prod_name
FROM products
LIMIT 5, 5;
FROM products
LIMIT 5, 5;
7. 使用注释
第一种方式:两个连字符(--),之后接至少一个空格
SELECT prod_name -- 这是一条注释
FROM products;
FROM products;
第二种方式:井号(#)
# 这是一条注释
SELECT prod_name
FROM products;
SELECT prod_name
FROM products;
第三种方式:多行注释以 /* 开始,到 */ 结束
/* SELECT prod_name, vend_id
FROM Products; */
SELECT prod_name
FROM Products;
FROM Products; */
SELECT prod_name
FROM Products;
3. 排序检索数据
SELECT column1, column2,...
FROM tbl
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC],...
FROM tbl
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC],...
1. 排序数据
ORDER BY
ORDER BY 子句应该保证它是 SELECT 语句中的最后一条子句
SELECT prod_name
FROM products
ORDER BY prod_name;
FROM products
ORDER BY prod_name;
2. 按多个列排序
指定多个列名,列名之间用逗号分开即可
SELECT prod_id, prod_price, prod_name
FROM products
ORDER BY prod_price, prod_name;
FROM products
ORDER BY prod_price, prod_name;
3. 按列位置排序
SELECT prod_id, prod_price, prod_name
FROM products
ORDER BY 2, 3;
FROM products
ORDER BY 2, 3;
4. 指定排序方向
升序:ASC,默认升序
降序:DESC
SELECT prod_id, prod_price, prod_name
FROM products
ORDER BY prod_price DESC, prod_name;
FROM products
ORDER BY prod_price DESC, prod_name;
4. 过滤数据
1. 使用 WHERE 子句
需要指定搜索条件(search criteria),也成为过滤条件(filter condition)。SELECT 语句中,数据根据 WHERE 子句中指定的搜索条件进行过滤
SELECT column1, column2, columnN
FROM table_name
WHERE [condition]
FROM table_name
WHERE [condition]
如果 ORDER BY 和 WHERE 子句同时使用,ORDER BY 子句应该位于 WHERE 子句之后
2. WHERE 子句操作符
=
等于
<>
不等于
!=
不等于
<
小于
<=
小于等于
!<
不小于
>
大于
>=
大于等于
!>
不大于
BETWEEN
在指定的两个值之间(包含开始值和结束值)
IS NULL
为 NULL 值
0 条评论
下一页