SqlServer2005 查询 第一讲 计算列
数据库查询【最重要且在数据库中难度最大】
声明一下我这里用的数据库样例是郝斌老师的(scott库)
我尽最大努力把复杂的问题简单化,方便理解,希望我写的东西能够帮助到你们
有些复杂的东西我我用自己的方式理解的,可能和标准的教材上面说的有些不一样(个人观点,大佬勿喷)
计算列
- 注意一下这个,后面有用:表的概念:就是相关数据组成的二维表格
表名:就是这个二维表格的标识。
字段:就是二维表中的每一列。
字段名:就是这个列的标识。 - 列就是字段哈,别被绕晕了
select * from emp // --* 表示所有emp表中所有字段的值
// --from emp 表示从emp表中查询数据
- 这里的基础一定要理解,不然后面的东西会让你崩溃的
```
select ename,sal from emp // -- 它的执行的顺序是先找到emp表,也就是先执行的是from emp 然后开始查询emp表中的第一条记录
// -- 然后把第一条记录中的ename,和sal字段的值输出
// -- 然后查询第二条记录,然后第三条 。。。。。。
// -- 直到查询到最后一条记录。整个sql命令就执行结束了
// -- from emp 是从emp表中查询
// -- ename,sal是要查询的字段
// -- 注意:字段之间一定要用逗号隔开
```
- 注意:这里的计算列是指的表里不存在的数据(列),但是可以通过表里存在的字段进行数学运算。比如下面年薪和555等
select ename,sal*12 as "年薪" from emp // --这里就把你要计算的那个字段,也就是在表中不存在的数据通过数学运算得到新的字段取了一个别名
// -- as可以省略 记住"年薪"不要写成'年薪'也不要写成年薪
// -- 别名“年薪”只能用双引号括起来,而不能用单引号,
// -- 因为为了考虑命令的可移植性,方便程序能移植到oracle,所以写双引号,
// -- 但是写单引号在sqlserver2005中也是允许的。而在oracle中只能用双引号。
// -- 所以为了显示我们的专业性我们最好把它写成双引号
-
```
select 999 from emp //一定要仔细的去理解一下这条语句
// -- 输出的行数是emp表的行数,每行只有一个字段,且这个字段没有名字 值是999
// -- 注意一下,这个代码是ok的,不是错误的。
select 9 //这个代码也是可以执行的
//只会输出一行,且这一行只有一个字段,同样这个字段也没有名字 值是9
#### 综上所述
- 来分析一个关于计算列的代码
select ename,sal*12 as "年薪",sal "月薪",job from emp
//首先这上面用三个逗号把4个字段分隔开了
//那么这上面的总体执行是怎么执行的?
//如果还不知道怎么执行的可以给我留言
##### 这一讲就先到这里,下一讲我说distinct的用法
SqlServer2005 查询 第一讲 计算列的更多相关文章
- SqlServer2005 查询 第二讲 distinct
今天我们来说distinct关键字的用法. distinct - distinct:我们可以这样理解成[过滤重复值] - select distinct deptno from emp // -- 首 ...
- SQL Server ->> Computed Column(计算列)
Computed Column(计算列)是自SQL Server 2005开始就有的特性.计算列的定义是一个表达式.表达式可以是非计算列,常量,函数间的组合.但是不可以是子查询. 计算列数据固化 默认 ...
- SQL Server计算列
计算列由可以使用同一表中的其他列的表达式计算得来.表达式可以是非计算列的列名.常量.函数,也可以是用一个或多个运算符连接的上述元素的任意组合.表达式不能为子查询. 例如,在 AdventureWork ...
- SQL Server-聚焦计算列或计算列持久化查询性能(二十二)
前言 上一节我们详细讲解了计算列以及计算列持久化的问题,本节我们依然如前面讲解来看看二者查询性能问题,简短的内容,深入的理解,Always to review the basics. 持久化计算列比非 ...
- SQL查询关于相对路径、矢代、绝对路径、递归、计算列的速度对比跟优化-SOD群记录
1秒查原本递归的查询. 适用于:上下级.多层查询 -- Get childs by parent id WITH Tree AS ( SELECT Id,ParentId FROM dbo.Node ...
- SqlServer2005 查询 第七讲 order by
今天我们来讲sql命令中的参数order by的用法 order by order by:可以理解成[以某个字段排序] order by a,b // a和b都按升序 order by a,b des ...
- SqlServer2005 查询 第六讲 null
今天们来讲sql命令中的这个null参数 null null: 可以理解成[没有值,空值]的意思 注意以下几点 --1.零和null是不一样的,null表示空值,而零表示的一个确定的值 --2.nul ...
- [信息检索] 第一讲 布尔检索Boolean Retrieval
第一讲 布尔检索Boolean Retrieval 主要内容: 信息检索概述 倒排记录表 布尔查询处理 一.信息检索概述 什么是信息检索? Information Retrieval (IR) is ...
- Entity Framework 6 Recipes 2nd Edition(11-2)译 -> 为一个”模型定义”函数返回一个计算列
11-3. 为一个”模型定义”函数返回一个计算列 问题 想从”模型定义”函数里返回一个计算列 解决方案 假设我们有一个员工(Employee)实体,属性有: FirstName, LastName,和 ...
随机推荐
- Jenkins邮件收发(qq邮箱)
首先确认QQ邮箱SMTP服务器的地址和端口号.如下图所示,请谨记,JENKINS全局邮箱配置需要使用: 步骤1:开启QQ邮箱的smtp服务:登陆QQ邮箱-设置-账户-开启POP3/SMTP服务-完成“ ...
- 代码审计-Thinkphp3框架EXP表达式SQL注入
最近看java框架源码也是看的有点头疼,好多还要复习熟悉 还有好多事没做...慢慢熬. 网上好像还没有特别详细的分析 我来误人子弟吧. 0x01 tp3 中的exp表达式 查询表达式的使用格式: $m ...
- Linux系统取证实践
目录 0x00 本课概述 0x01 用到命令 0x00 本课概述 本课时学习Linux系统下取证分析命令. 0x01 用到命令 1.top命令 2.ps命令 3.kill命令 4.linux系统日 ...
- Python:的web爬虫实现及原理(BeautifulSoup工具)
最近一直在学习python,学习完了基本语法就练习了一个爬虫demo,下面总结下. 主要逻辑是 1)初始化url管理器,也就是将rooturl加入到url管理器中 2)在url管理器中得到新的new_ ...
- C#版本websocket及时通信协议实现(教程示例)
1:Websocket有java.nodejs.python.PHP.等版本 ,我现在使用的是C3版本,服务器端是Fleck.客户端和服务器端来使用websocket的,下面开始讲解如何使用: 2:在 ...
- 如何巧妙地在基于 TCP Socket 的应用中实现用户注册功能?
通常,在基于TCP的应用中(比如我开源的GGTalk即时通信系统),当TCP连接建立之后,第一个请求就是登录请求,只有登录成功以后,服务器才会允许客户端进行其它性质的业务请求.但是,注册用户这个功能比 ...
- 04 Node.js学习笔记之模块的加载
A文件代码: //1.require是一个方法,它的作用就是用来加载模块的 console.log("执行 B ") require('./b.js'); console.log( ...
- Java根据参数返回相应类
问题初衷:如何根据参数变换方法的返回类型(参数为 类) 解决方案: 下面方法是放在工具类(例:YslRequestUtil) public <T> T response(Object re ...
- C++ 大作业资料总结
一般 C++ 大作业都是用 Qt 来写,Qt 本身带了很多例子,详见:https://doc.qt.io/qt-5/qtexamples.html# 如果你想偷懒的话,直接拿来改就好,或者去 Gith ...
- SpringBatch从入门到放弃003- 核心概念2
1. Job Job是一个封装了 Batch 整个执行过程的实体,和其他 Spring 工程一样,Job可以基于 XML 和 Java-based配置两种,但是无论使用怎样的配置,Job都在这个结构的 ...