1.按列位置排序
SELECT prod_id, prod_price,prod_name FROM products ORDER BY 2, 3;
--2 refer to prod_price--
--3 refer to prod_name--
2.BETWEEN 包含边界值
SELECT prod_price, prod_name FROM products WHERE prod_price BETWEEN 5 AND 10;
--包含5和10--
3.AND 优先于 or (不要使用默认优先级,始终使用括号)
SELECT prod_name, prod_price, vend_id FROM products WHERE vend_id = 'DLL01' or vend_id = 'BRS01' AND prod_price > 10
--相当于--
SELECT prod_name, prod_price, vend_id FROM products WHERE vend_id = 'DLL01' or (vend_id = 'BRS01' AND prod_price > 10)
4.通配符'%'匹配0个,1个和多个字符, '_'匹配1个字符
5.TRIM 去除两边的空格, LTRIM 去除左边的空格, RTRIM 去除右边的空格--TODO:补充所有的文本操作函数,见8.2.1
6.AVG(columA) , MAX(columnA), MIN(columnA), SUM(columnA), COUNT(columnA) 忽略 NULL 值, COUNT(*)不忽略
7.LEFT OUTER JOIN 选择左边表所有的行 *=
SELECT c.cust_id, o.order_num FROM customers AS c
LEFT OUTER JOIN orders AS o ON c.cust_id = o.cust_id;
------------------------------
--cust_id order_num
--"1000000001";20009
--"1000000001";20005
--"1000000002";
--"1000000003";20006
--"1000000004";20007
--"1000000005";20008--
------------------------------
RIGHT OUTER JOIN 选择右边表所有的行 =*
SELECT c.cust_id, o.order_num FROM customers AS c
RIGHT OUTER JOIN orders AS o ON c.cust_id = o.cust_id;
------------------------------
--cust_id order_num
--"1000000001";20005
--"1000000003";20006
--"1000000004";20007
--"1000000005";20008
--"1000000001";20009
------------------------------
分享到:
相关推荐
简介一下Mybatis缓存机制?Mybatis如何动态配置SQL?有哪些动态SQL标签?
这份"java-senior-development-engineer-interview-notes-master.zip"压缩包显然是为了帮助准备这类面试而精心整理的资源。以下是基于这个主题可能涉及的一些核心知识点的详细解释: 1. **Java基础知识**:理解Java...
数据库方面,会涵盖SQL语言的基本操作(如SELECT、INSERT、UPDATE、DELETE)、数据库事务、索引、存储过程、数据库设计范式以及性能调优技巧。对于面试者来说,了解关系型数据库如MySQL和NoSQL数据库如MongoDB的基本...
MySQL是世界上最受欢迎的关系型数据库管理系统(RDBMS)之一,尤其在Web开发领域中广泛应用。...压缩包文件"sql-notes-master"可能包含了作者在阅读过程中的笔记和练习,是进一步学习和巩固这些知识的宝贵资源。
5. **数据库**:SQL语言的基本操作(SELECT、INSERT、UPDATE、DELETE),数据库事务、索引、查询优化、关系型数据库模型和NoSQL数据库的区别。 6. **编程语言基础**:熟悉至少一种主流编程语言(如Java、C++、...
SAP Note通常会有一个编号,例如37916,这个编号可以被用来在SAP支持门户中检索相关文档。 2. SAP SQL相关Note 本文件中提到的是SAP SQL相关的Note,这意味着文档提供了与SAP系统中使用SQL数据库相关的问题解决方案...
【压缩包子文件的文件名称列表】"My-Notes-main" 可能表示这是一个主要的笔记目录,可能包含子目录和多个文件。这些文件可能包括 Markdown 文档、代码片段、笔记文本或者项目文件,涵盖了作者在编程学习或实践过程中...
"notes-master" 可能是一个包含不同章节或主题的笔记目录,可能包括以下几个部分: 1. **语言**:这部分可能涵盖各种编程语言的基本概念、语法特性以及最佳实践,如 Java、Python、C++ 或 JavaScript,这些都是 ...
本项目“Notes-App”是为实习生设计的一个实践平台,旨在教授和提升他们的编程技能,尤其是使用Kotlin语言进行移动应用开发的能力。通过参与这个项目,实习生可以深入了解如何构建一个功能完善的笔记应用,包括集成...
9. **版本控制**:项目名称“write-notes-master”暗示可能使用了Git进行版本控制。Git是开发者常用的分布式版本控制系统,用于跟踪代码的修改历史,便于协作开发和回溯错误。 10. **部署与运行**:完成开发后,...
笔记可能会涉及SQL查询优化、事务处理、NoSQL数据库的选择与应用等。对于分布式系统和微服务架构,笔记可能会介绍如何使用Docker进行容器化部署,以及Kubernetes如何实现服务编排。 测试与调试是保证软件质量的关键...
通过"Pentesting-Notes-master"这个压缩包,你可能会找到关于这些主题的实际代码示例、技巧和最佳实践,这些都是渗透测试者必备的技能。这些笔记不仅能帮助你了解和应用Python在安全领域的功能,也能提升你在CTF和...
"代码301-中间软件开发"可能涉及到更高级的主题,如Web开发框架(如React、Angular或Vue.js),后端开发技术(如Node.js或Django),以及数据库管理(如SQL语言和关系型数据库)。这部分可能还会涵盖API的设计和使用...
由于标签为空,我们无法获取更具体的分类信息,但我们可以从"mynotes-master"这个文件名推测,这可能是一个开源项目的主分支或者主要版本,通常在Git版本控制系统中,"master"指的是默认分支。 在这个"mynotes"项目...
3. **ReleaseNotes.txt**:这是版本发布说明,详细列出了每个版本的新特性、改进和已知问题,对于了解 Abator 的更新内容非常有帮助。 4. **README.txt**:通常会提供关于如何安装、配置和使用 Abator 的基本指导,...
`Release Notes.txt` 文件提供了详细的发布说明,包括关键改进、新功能、已知问题以及可能的兼容性问题。这是开发者评估新版本是否适合其项目的重要参考。 `netstandard2.1`、`net5.0` 和 `v4.8`、`v4.5.2` 这些...
要升级为正式产品,必 须首先卸载现有版本的软件。 _____________________________________________________________________ 本文件包含的内容 - 新功能 - 更改的功能 - 安装和系统要求 - 测试安装...
`README.txt`, `LICENSE.txt`和`RELEASE-NOTES.txt`是常见的开源项目文档,`README.txt`通常包含了项目的简介、安装指南和使用方法,`LICENSE.txt`定义了软件的许可协议,`RELEASE-NOTES.txt`则记录了版本更新的内容...
在Android开发中,SQLite是一个内置的轻量级数据库...通过实践这个项目,开发者可以深入理解如何在Android应用中创建数据库、执行SQL操作,并构建与用户交互的界面,这对于任何Android开发者来说都是必不可少的技能。
在安装和配置过程中,这份文档是必不可少的参考材料,它会指导用户如何正确地进行系统兼容性检查、安装步骤以及遇到问题时的处理方式。 其次,"OGG-19.1.0.0-README.txt" 文件通常包含软件的基本信息、授权条款、...