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