SQL新手;

希望快速学会并熟练使用SQL ;

希望知道如何使用SQL开发应用程序;

希望在无人帮助的情况下有效而快速地使用SQL ;

本书的 SQL 系统适用那些系统

部分节选

第2章 检索数据

这一课介绍如何使用SELECT 语句从表中检索一个或多个数据列。

2.1 SELECT 语句

正如第1课所述,SQL 语句是由简单的英语单词构成的。这些单词称为关键字,每个SQL 语句都是由一个或多个关键字构成的。最经常使用的SQL 语句大概就是SELECT 语句了。它的用途是从一个或多个表中检索信息。

关键字(keyword)作为SQL 组成部分的保留字。关键字不能用作表或列的名字。附录D 列出了某些经常使用的保留字。

为了使用SELECT 检索表数据,必须至少给出两条信息——想选择什么,以及从什么地方选择。

说明:理解例子本书各课程中的样例SQL 语句(和样例输出)使用了附录A 中描述的一组数据文件。如果想要理解和试验这些样例(我强烈建议这样做),请参阅附录A,它解释了如何下载或创建这些数据文件。

-

提示:使用正确的数据库利用DBMS 可以处理多个数据库(参见第1 课里文件柜的比喻)。根据附录A 安装好样例表之后,建议你把它们装进新的数据库。如果这样的话,要确保在处理之前就选择好了数据库,就像你在创建样例表之前做的那样。后面各课的学习过程中,如果你遇到未知表的错误,很可能就是没在正确的数据库里。

2.2 检索单个列

我们将从简单的SQL SELECT 语句讲起,此语句如下所示:

输入▼

SELECT prod_name

FROM Products;

分析▼上述语句利用SELECT 语句从Products 表中检索一个名为prod_name的列。所需的列名写在SELECT 关键字之后,FROM 关键字指出从哪个表中检索数据。此语句的输出如下所示:

输出▼

prod_name

-------------------Fish bean bag toy

Bird bean bag toy

Rabbit bean bag toy

8 inch teddy bear

12 inch teddy bear

18 inch teddy bear

Raggedy Ann

King doll

Queen doll

根据你使用的具体DBMS和客户端,可能你会看到一条信息说明检索了多少行,以及花了多长时间。例如,MySQL 命令行会显示类似下面这样的一行信息:

9 rows in set (0.01 sec)

说明:未排序数据如果你自己试验这个查询,可能会发现显示输出的数据顺序与这里的不同。出现这种情况很正常。如果没有明确排序查询结果(下一课介绍怎样指定顺序),则返回的数据没有特定的顺序。返回数据的顺序可能是数据被添加到表中的顺序,也可能不是。只要返回相同数目的行,就是正常的。

如上的一条简单SELECT 语句将返回表中的所有行。数据没有过滤(过滤将得出结果集的一个子集),也没有排序。以后几课将讨论这些内容。

提示:结束SQL 语句多条SQL 语句必须以分号(;)分隔。多数DBMS 不需要在单条SQL语句后加分号,但也有DBMS 可能必须在单条SQL 语句后加上分号。当然,如果愿意可以总是加上分号。事实上,即使不一定需要,加上分号也肯定没有坏处。

-

提示:SQL 语句和大小写请注意,SQL 语句不区分大小写,因此SELECT 与select 是相同的。同样,写成Select 也没有关系。许多SQL 开发人员喜欢对SQL 关键字使用大写,而对列名和表名使用小写,这样做代码更易于阅读和调试。不过,一定要认识到虽然SQL 是不区分大小写的,但是表名、列名和值可能有所不同(这有赖于具体的DBMS 及其如何配置)。

-

提示:使用空格在处理SQL 语句时,其中所有空格都被忽略。SQL 语句可以写成长长的一行,也可以分写在多行。下面这3种写法的作用是一样的。

SELECT prod_name

FROM Products;

SELECT prod_name FROM Products;

SELECT

prod_name

FROM

Products;

多数SQL 开发人员认为,将SQL 语句分成多行更容易阅读和调试。

2.3 检索多个列

要想从一个表中检索多个列,仍然使用相同的SELECT 语句。唯一的不同是必须在SELECT 关键字后给出多个列名,列名之间必须以逗号分隔。

提示:当心逗号在选择多个列时,一定要在列名之间加上逗号,但最后一个列名后不 加。如果在最后一个列名后加了逗号,将出现错误。

下面的SELECT 语句从Products 表中选择3列。

输入▼

SELECT prod_id, prod_name, prod_price

FROM Products;

分析▼与前一个例子一样,这条语句使用SELECT 语句从表Products 中选择数据。在这个例子中,指定了3 个列名,列名之间用逗号分隔。此语句的输出如下:

输出▼

prod_id prod_name prod_price

--------- -------------------- ----------

BNBG01 Fish bean bag toy 3.49

BNBG02 Bird bean bag toy 3.49

BNBG03 Rabbit bean bag toy 3.49

BR01 8 inch teddy bear 5.99

BR02 12 inch teddy bear 8.99

BR03 18 inch teddy bear 11.99

RGAN01 Raggedy Ann 4.99

RYL01 King doll 9.49

RYL02 Queen dool 9.49

说明:数据表示SQL 语句一般返回原始的、无格式的数据,不同的DBMS 和客户端显示数据的方式略有不同(如对齐格式不同、小数位数不同)。数据的格式化是表示问题,而不是检索问题。因此,如何表示一般会在显示该数据的应用程序中规定。通常很少直接使用实际检索出的数据(没有应用程序提供的格式)。

mysql必知必会第5版pdf_雍正荐书第十一期 | SQL入门经典教程2020全新升级!SQL必知必会(第5版)...相关推荐

  1. SQL入门经典(第5版)pdf

    下载地址:网盘下载 编辑推荐 编辑 每章内容针对初学者精心设计,1小时轻松阅读学习,24小时彻底掌握关键知识.每章案例与练习题助你轻松完成常见任务,通过实践提高应用技能,巩固所学知识. 学习如何: · ...

  2. (SQL入门经典+SQL必知必会+视频)笔记之一

    一.了解SQL 1. 关系型数据库管理系统(RDBMS) 2. 结构化查询语言(SQL)--关系型数据库进行通信的标准语言 3. ANSI标准--可移植性和易用性 4. 连接数据库:CONNECT u ...

  3. sql入门经典第5版pdf网盘_如何学习 SQL 语言?

    很多人喜欢一上来就推荐好几本书,但是这些书晦涩难懂,对于初学者入门非常不友好.入门只需要一本书就够了,而不是多本.入门要让初学者看懂才是最重要的,而不是整那些高大上的东西.为了帮助刚毕业找工作,或者想 ...

  4. php即时聊天数据库设计入门经典教程_用PHP+MySQL搭建聊天室

    MySQL并发能力强.响应速度快,是性能优异的数据库软件:PHP是功能强大的服务器端脚本语言.笔者在山西铝厂网站开发中,采用 PHP4.0+MySQL3.23.38建立了多种应用.下面,以一个简单的聊 ...

  5. SQL入门经典(第5版)学习笔记(三)

    1.下面这个CREATE TABLE命令能够正常执行吗?需要做什么修改?在不同的数据库(MySQL.Oracle.SQL Server)中执行,有什么限制吗? 不要as: middle_name nu ...

  6. SQL入门经典第5版(Sams Teach Yourself SQL in 24 Hours, 5th)随书习题的建表和插入

    Create Table & Insert Statements for<Sams Teach Yourself SQL in 24 Hours, Fifth Edition> e ...

  7. [紫书CH0] 《算法竞赛入门经典》(第2版) 题解目录

    紫书题解 本着仅仅门外看看风景的初心,却 不慎 被其内壮丽美景所深深吸引.将会持续的画上一段时间对紫书进行系统性的学习,相关的 UVa 经典习题会道道完成并贴出题解供大家学习交流.也算是记录我曾经来过 ...

  8. UVA - 1225 Digit Counting(刘汝佳紫书题单(算法竞赛入门经典 第二版 2014)

    个人感觉这道题有表述问题 他的题目表述说明测试数据中的数是不超过20的,但其实他的测试点中是有百位数的,所以按两位数去处理数据显然会造成数组越界. 代码如下 #include <bits/std ...

  9. JAVA.已知今天日期(周几),求输入的天数后是周几------JAVA入门基础教程

    static Scanner in = new Scanner(System.in); System.out.println("今天是周几?"); int a = in.nextI ...

最新文章

  1. 安装Oracle11g-client
  2. 不想横屏看视频?谷歌开源框架AutoFlip一键截出最精彩竖版视频
  3. 通过C++的try和catch来捕获SEH异常
  4. 【To Do!】程序员面试金典——11.8维护x的秩
  5. Maker工作室_激光雕刻机使用方法
  6. android 命令pm 全称 packagemanager,关于android:PackageManager安装应用笔记
  7. 状态转移矩阵 matlab,状态转移矩阵计算.PPT
  8. 阿里云ACE认证学习知识点梳理
  9. VUE中隐藏和限制DIV或其他HTML元素
  10. 蓝牙鼠标windows linux,windows linux双系统共用蓝牙鼠标
  11. 一条命令搞定黑苹果双系统时差
  12. 面对同行抄袭或者抹黑,应该怎么办?
  13. 2021年中国LED工业照明市场趋势报告、技术动态创新及2027年市场预测
  14. H5 移动APP - 面包店
  15. 分布式应用解决方案之一致性Hash
  16. 手把手教你使用Python操控手机微信app(最新教程)
  17. 通俗易懂详解机器学习中的最大似然估计
  18. 西子奥的斯服务器光电信号,西子奥的斯怎么看故障
  19. BTC学习知识点总结
  20. CorelDraw插件开发-VBA-常用功能-全可显示-全可打印-全可编辑-CDR插件

热门文章

  1. 了解数据串联五步骤,解锁数据孤岛难题
  2. 目录即服务如何帮助安全、高效地管理WiFi用户?
  3. java2019面试题北京
  4. 2000亿合作背后:苏宁易购如何成为海尔“兄弟”
  5. NullPointerException(空指针异常)
  6. Android网络请求操作httpurlconnection和httpclient基本使用
  7. 【FPGA学习笔记】(一)什么是FPGA?和单片机ARM有什么区别?
  8. win7桌面的计算机在哪里设置密码,win7如何设置屏保密码 win7设置屏保密码图文教程...
  9. 点餐系统后台服务器部署,Java后台——点餐小程序在服务器上运行点餐系统供别人访问...
  10. MySQL的卸载与安装