给列其别名:
SELECT RTRIM(vend_name) + '(' + RTRIM(vend_contry) + ')' AS vend_title
FROM Vendors
ORDER BY vend_name;

这种sql做什么事情呢?
分解出一个简单的东西:
SELECT vend_name,vend_contry
FROM Vendors
ORDER BY vend_name;

得到的数据是这样:
vend_name  vend_contry
---------  -----------
DongFeng      china
BMW           usa

然后,这两个信息可以整合在一起会更清晰
期望对返回的结果继续做个处理
SQL语法是一种通过内外嵌套来添加功能的语法

添加更多丰富的功能,是我们的最重要诉求之一啊
处理后的数据是这样:

vend_title
--------------
DongFeng(china)

BMW(usa)

怎么才能做到这一步呢?

1 取出vend_name列的第一个数据

2 取出vend_contry的第一个数据拼接到( )中

3 将1,2两个数据拼接起来将结果作为一个数据

4 接下来用同样的方式操作第二数据,从而又得到一个数据

5 将第二个数据和第一个数据堆成一个虚拟列

6 依次类推,直到最后一个数据

7 最后给这个堆起来的数据形成的列起个名字

这里,我们发现,列名特别像一个数组对象,把这些数据都封装起来了
列名好像就是一个引用代表一样
引用代表的意思就是:要操作数据时,不直接操作数据,而操作引用!
很多处理机制都是这样!
我们操作数据时,都是操作列名而已!

再看一个例子: 给表起别名
写and条件时候,缩进四格看起来更好看!
SELECT cust_name,cust_contact
FROM Customers AS C,Orders AS O,OrdersItems AS OI
WHERE C.cust_id = O.cust_id
  AND OI.order_num = O.order_num
  AND prod_id = 'RGAN01';

第一个问题:这个sql想干嘛?
根据首和尾的语句
可以知道:是查询购买商品RGAN01的那些顾客的名字和联系方式

其他的语句在干嘛?
把三张表的信息整合起来!
怎么做到的?
将三个表求个笛卡尔积
将实际意义的记录筛选出来
从而得到整合起来的数据
为什么合?
因为本来就是一起的,只不过分开了

注意:Oracle中 给表起别名不支持as 空格接别名即可 也就是as换空格 更简约不失么

都是用字符 干嘛不用最简单的呢?  是我,我也用空格

所以是这样:
SELECT cust_name,cust_contact
FROM Customers C,Orders O,OrdersItems  OI
WHERE C.cust_id = O.cust_id
  AND OI.order_num = O.order_num
  AND prod_id = 'RGAN01';

这里还有一个知识是:表列名只在执行中使用

总结:
    注意两种操作顺序:
    第一种顺序是:
    a-->b-->c  接下来又是 a-->b-->c
    第二种顺序是:
    a-->b-->c  接下来却是 b-->a-->c  接下来又是 b-->a-->c  
    表列名的两个知识:
    1.Oracle中 给表起别名不支持as 空格接别名即可
    2.表列名只在执行中使用

起别名一般就用首字母大写

当一个人主动说了很多话之后,如果给不到他想要的回应,他会反感你,如果不回应,他就会厌恶你!
如果觉得做人这么难!有本事就别做啊!

SQL中给表起别名的两个必须知道的知识点相关推荐

  1. 02-SQL语句给表起别名SQL中的表连接

    什么情况下需要给表起别名? 1.表名比较长 2.当需要在多个表中进行查询并把查询内容同时输出的时候 3.当需要进行表连接的时候(其实和2一个意思,一般情况下多个表进行连接主要目的就是为了从多个表中查询 ...

  2. 【python】使用Antlr4实现识别sql中的表或视图名

    前言 先上成果预览图吧 作为一个数据库sql开发者,肯定有很多人和我一样,想要有一个工具,能传入任意sql,解析出sql中的所有表. 我之前有一篇文章[AIO]将任意查询sql转换成带远程数据库DBL ...

  3. SQL中,表之间的左联和右联是什么意思

    首先来看张图片: 定义: 左联:首先取出A表中所有数据,然后再加上A.B表通过关联字段key查询到的数据 右联:首先取出B表中所有数据,然后再加上A.B表通过关联字段key查询到的数据 内联:查询A. ...

  4. SQL中多表联查概念

    多表连接查询 当查询的字段来自多个表 分类:内连接:等值连接.非等值连接.自连接 外连接:左外连接.右外连接.全外连接 交叉连接 不同的 SQL JOIN 在展示具体语句结构之前,我们先列出您可以使用 ...

  5. C++/C++11中用于定义类型别名的两种方法:typedef和using

    类型别名(type alias)是一个名字,它是某种类型的同义词.使用类型别名有很多好处,它让复杂的类型名字变得简单明了.易于理解和使用,还有助于程序员清楚地知道使用该类型的真实目的.在C++中,任何 ...

  6. SQL中多表查询:左连接、右连接、内连接、全连接、交叉连接

    一.左连接,右连接,内连接关系 左连接:左表全部+两个表交集(①+②) 右连接:右表全部+两个表交集(③+②) 内连接:两个表交集(②) 二.结合具体例子看(已经在mysql中执行过的例子,可以运行, ...

  7. SQL中的表 与关系数据库

    SQL Server 中几个重要的表 1 主系统表 Sysobjexts 出现在每个数据库中,每个数据库对象含有一行记录 2 系统表 Syscolumns 出现在master数据库和侮个用户自定义的数 ...

  8. 交叉表的概念及sql中交叉表的使用

    交叉表是一种常用的分类汇总表格.使用交叉表查询,显示源于表中某个字段的汇总值,并将它们分组, 其中一组列在数据表的左侧,另一组列在数据表的上部. 行和列的交叉处可以对数据进行多种汇总计算,如:求和.平 ...

  9. mysql重复数据只取一条数据_My sql 中删除表中重复记录?只保留一条

    匿名用户 1级 2018-08-20 回答 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 sel ...

最新文章

  1. P3128-最大流Max Flow【树上差分,LCA】
  2. 2017年的那些事儿
  3. win10 打开注册表
  4. 微信小程序实现微信企业付款到零钱功能的流程
  5. 华为服务器麒麟系统,通用服务器麒麟os
  6. WSAData小说明(转)
  7. 巧妙实现 Form 表单认证跨站点、跨服务器的单点登录(Single Sign On)
  8. /usr/bin/xauth: file /home/wj/.Xauthority does not exist
  9. WIN32 API串口通信编程
  10. 彼得.得鲁克与因果定律
  11. 低代码开发平台是什么?
  12. 南安普顿大学计算机专业如何,南安普顿大学计算机专业,南安最值得读的专业之一!...
  13. 心灵奇旅中不认识的单词和句子
  14. 求解汽车加油问题C++
  15. 《Java学习笔记(第8版)》学习指导
  16. Python运维开发(CMDB资产管理系统)--环境部署(上)
  17. AVR学习笔记之熔丝位
  18. 数据结构c语言版严蔚敏 顺序表
  19. 个人成长历程(一)—学校篇
  20. unity 5.x从入门到精通_Unity学习中值得收藏的学习资料(书籍)与博客

热门文章

  1. iptables之ipset使用介绍
  2. 城市三维地理信息可视化 技术解析
  3. nfor MyDay帮助企业专注于高效益工作
  4. Json转换利器Gson之实例二-Gson注解和GsonBuilder
  5. assertion failed: [predictions must be >= 0] [Condition x >= y did not hold element-wise:]
  6. RFC中文文档大全,[下载]
  7. (原创)如何在spannableString中使用自定义字体
  8. PHP 文件流格式下载文件
  9. rhel7配置linux网卡,以下哪些项是RHEL7 Linux系统中配置网卡网络参数的常用方法或命令?...
  10. 富达国际Fidelity带领金融机构在2020年营业利润创下纪录,这是为什么?