SQL必知必会(第四版)-2.检索数据(SELECT)

目录

2.检索数据

2.1 SELECT语句

2.2 检索单个列

2.3 检索多个列

2.4 检索所有列

2.5 检索不同的值

2.6 限制结果(返回特定数量的行)

2.7 使用注释

行内注释

多行注释​


2.检索数据

2.1 SELECT语句

关键字(keyword):作为SQL组成部分的保留字。关键字不能用作表或列的名字。

SELECT就是一个关键字。

2.2 检索单个列

从Products表中检索名为prod_name的列:

  • 如果没有明确排序查询结果(下一课介绍),则返回的数据没有特定的顺序。返回数据的顺序可能是数据被添加到表中的顺序,也可能不是。只要返回相同数目的行,就是正常的。
  • 多条SQL语句必须以分号(;)分隔。
  • SQL语句不区分大小写,因此SELECT与select是相同的。
  • 在处理SQL语句时,其中所有空格都被忽略。SQL语句可以写成长长的一行,也可以分写在多行。下面这三种写法的作用是一样的:

2.3 检索多个列

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

2.4 检索所有列

如果给定一个通配符(*),则返回表中所有列。列的顺序一般是列在表定义中出现的物理顺序。

缺点:检索不需要的列通常会降低检索和应用程序的性能。

优点:能检索出名字未知的列。

2.5 检索不同的值

case:

你想检索products表中所有产品供应商的ID:

SELECT语句返回9行(即使表中只有3个产品供应商),因为products表中有9种产品。

如何检索出不同的值?办法就是使用DISTINCT关键字。

SELECT DISTINCT vend_id告诉DBMS只返回不同(具有唯一性)的vend_id行。

如果使用DISTINCT关键字,它必须直接放在列名的前面。

  • 不能部分使用DISTINCT。DISTINCT关键字作用于所有的列,不仅仅是跟在其后的那一列。

2.6 限制结果(返回特定数量的行)

各种数据库中的这一SQL实现并不相同。

在MySQL中,返回不超过5行的数据:

为了得到后面的5行数据,需要:

limit 5 offset 5 表示跳过5条数据,返回5条数据。

这个语句的输出是:

在我们的例子中,Products表中只有9种产品,所以LIMIT 5 OFFSET 5只返回了4行数据(因为没有第5行)。

  • MySQL支持简化版的LIMIT 4 OFFSET 3语句,即LIMIT 3,4同样表示跳过3条数据,返回4条数据。

2.7 使用注释

使用注释的目的:

  • 添加一些描述性的注释,这便于你自己今后参考,或者供项目后续参与人员参考。
  • 可能包含程序员的联系方式、程序描述以及一些说明。
  • 暂时停止要执行的SQL代码。如果你碰到一个长SQL语句,而只想测试它的一部分,那么应该注释掉一些代码。

行内注释

多行注释

注释从/*开始,到*/结束,/*和*/之间的任何内容都是注释。这种方式常用于给代码加注释,就
如这个例子演示的,这里定义了两个SELECT语句,但是第一个不会执行,因为它已经被注释掉了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值