SQL 查询基础(1)

 今天我会开始在博客园中开始写我的编程经验,本文工科男,毕业后做了程序员,对C,C++,C# 都有涉猎,对C++有固执的偏好。没有做过DBA,对SQL Server 仅限于存储过程和查询语句的优化,对于索引之类的,只是略有了解。

对于SQL 查询基础的几篇随笔,看了后对于一般的存储过程会有一些帮助,但是不可能让你成为专业人士。

    由于我只对 SQL Server 比较熟悉,本文的代码举例等都是基于SQL Server 的,对于Oracle 和 MySQL,我想大致应该差不多。

    首先我们需要了解,SQL语言针对的是集合的编程,需要有一些集合的基础。

    对于编程逻辑,C,C++等等,都是使用 TRUE 或者 FALSE 来表示。对于SQL 编程,实行的是三值逻辑:TRUE,FALSE 和 UNKNOWN。

    一个简单的查询语句,一般写法为:

SELECT [COLUMN]
FROM [TABLE]
WHERE [CONDITION]

 在SQL Server中,逻辑执行的顺序为:1) FROM, 2) WHERE, 3)SELECT

      首先需要执行 FROM 语句,找到数据的源头(FROM 后边的 JOIN 语句将在后续讲到),从数据库中找打数据源,放到一个虚表中 VT1;

      然后执行 WHERE 语句,根据 WHERE 中的筛选条件,找到符合条件的数据集合,再放到虚表中 VT2;

      最后执行 SELECT 语句,从 VT2 虚表中选择需要显示的列,返回查询结果。(如果需要返回所有列,可使用 SELECT *)

这是最简单的一个SQL 语句在逻辑上的执行顺序,中间过程中是否真的会产生虚表,在SQL的物理实现上是不是采用这种顺序,我就不太清楚了,需要后续研究。

转载于:https://www.cnblogs.com/Danielhu1983/p/3684837.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值