SQL高级应用(IN操作符、BETWEEN、别名:AS)

SQL IN 操作符

  IN 操作符允许开发者在 WHERE子句中规定多个值,语法如下

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2,....)

  例子:从 Persons表中选取出姓氏为 Adams 和Carter 的人:

SELECT *
FROM Persons
WHERE LastName IN (‘Adams‘, ‘Carter‘)

  

 SQL BETWEEN 操作符

  BETWEEN 操作符在WHERE 子句中使用,作用是选取介于两个值之间的数据范围

  操作符 BETWEEN...AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期,BETWEEN的语法如下

SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

  例子1:在Persons 表中,如需以字母顺序显示介于 “Adams”(包括) 和“Carter”(不包括)之间的人,请使用下面的SQL

SELECT * FROM Persons
WHERE LastName
BETWEEN ‘Adams‘ AND ‘Carter‘

  重要事项:不同的数据库对 BETWEEN... AND 操作符的处理方式是由差异的。某些数据库会列出介于 “Adams”和 “Carter”之间的人,但不包括“Adams”和“Carter” ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。

  所以,请检查你的数据库是如何处理 BETWEEN....AND 操作符的!

  例子2:在Persons 表中,如需使用上面的例子显示范围之外的人,请使用 NOT 操作符

SELECT * FROM Persons
WHERE LastName
NOT BETWEEN ‘Adams‘ AND ‘Carter‘

  

SQL Alias(别名): AS操作符

  通过使用SQL, 可以为列名称和表名称指定别名

  表的SQL Alias语法

SELECT column_name(s)
FROM table_name
AS alias_name

  列的SQL Alias 语法

SELECT column_name AS alias_name
FROM table_name

  

Alias实例:使用表名称别名

  假设现在有两个表分别是:“Persons”和“Product_Orders”。我们分别为它们指定别名 “p” 和 “po”

  现在,要列出 “John Adams” 的所有的订单,可以使用下面的 SELECT语句:

SELECT po.OrderID, p.LastName, p.FirstName
FROM Persons AS p, Product_Orders AS ppo
WHERE p.LastName=‘Adams‘ AND p.FirstName=‘John‘

  如果是不使用别名的SELECT语句

SELECT Product_Orders.OrderID, Persons.LastName, Persons.FirstName
FROM Persons, Product_Orders
WHERE Persons.LastName=‘Adams‘ AND Persons.FirstName=‘John‘

  从上面两条 SELECT 语句您可以看到,别名使查询程序更易阅读和书写。

Alias实例:使用一个列名称别名

  表 Persons:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing

  SQL:

SELECT LastName AS Family, FirstName AS Name
FROM Persons

  结果:

Family Name
Adams John
Bush George
Carter Thomas
时间: 2024-10-18 00:02:43

SQL高级应用(IN操作符、BETWEEN、别名:AS)的相关文章

二、个人总结的菜鸟教程|sql教程的知识点(SQL高级教程)

二.SQL高级教程 1.SQL SELECT TOP SELECT TOP 子句用于规定要返回的记录的数目. SELECT TOP 子句对于拥有数千条记录的大型表来说,是非常有用的. 注释:并非所有的数据库系统都支持 SELECT TOP 子句. sql server|ms access语法 select top number|percent column_name from table_name; mysql|oracle语法(与top等价) select Column_name from t

SQL 高级(6)

SQL 高级(6) SQL VIEW(视图) 视图是可视化的表.本章讲解如何创建.更新和删除视图. SQL CREATE VIEW 语句 什么是视图? 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的字段就是来自一个或多个数据库中的真实的表中的字段.我们可以向视图添加 SQL 函数.WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表. 注释:数据库的设计和结构不会受到视图中的函数.where 或 join 语

SQL 高级(2)

SQL 高级(2) SQL INNER JOIN 关键字 在表中存在至少一个匹配时,INNER JOIN 关键字返回行. INNER JOIN 关键字语法 SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name 注释:INNER JOIN 与 JOIN 是相同的. 原始的表 (用在例子中的): "Persons" 表:

SQL 高级(3)

SQL 高级(3) SQL SELECT INTO 语句 SQL SELECT INTO 语句可用于创建表的备份复件. SELECT INTO 语句 SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中. SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档. SQL SELECT INTO 语法 您可以把所有的列插入新表: SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablen

SQL 高级(4)

SQL 高级(4) SQL CHECK 约束 SQL CHECK 约束 CHECK 约束用于限制列中的值的范围. 如果对单个列定义 CHECK 约束,那么该列只允许特定的值. 如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制. SQL CHECK Constraint on CREATE TABLE 下面的 SQL 在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束.CHECK 约束规定 "Id_P"

SQL 高级(5)

SQL 高级(5) SQL CREATE INDEX 语句 CREATE INDEX 语句用于在表中创建索引. 在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据. 索引 您可以在表中创建索引,以便更加快速高效地查询数据. 用户无法看到索引,它们只能被用来加速搜索/查询. 注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新.因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引. SQL CREATE INDEX 语法 在表上创建一个简单

SQL Server 运行计划操作符具体解释(2)——串联(Concatenation )

本文接上文:SQL Server 运行计划操作符具体解释(1)--断言(Assert) 前言: 依据计划.本文開始讲述另外一个操作符串联(Concatenation).读者能够依据这个词(中英文均可)先幻想一下是干嘛的.事实上还是挺直观,就是把东西连起来.那么以下我们来看看究竟连什么?怎么连?什么时候连? 简单介绍: 串联操作符既是物理操作符,也是逻辑操作符.在中文版SQL Server的图形化运行计划中称为"串联",在其它格式及英文版本号中称为"Concatenation&

oracle sql 高级编程 历史笔记整理

20130909 周一 oracle sql 开发指南 第7章 高级查询 1.层次化查询select level,ttt.*,sys_connect_by_path(ttt.col1,',') from ttt start with .. Connect by prior -因为先建立树,再进行where过滤的.在where中过滤和在cooonect by中过滤是不一样的. 2.rollup cube高级查询 select grouping(col1) .. From ttt group by

Oracle PL/SQL 高级编程

1. 复合数据类型--记录类型 ?        语法格式 type  类型名 is   record ( 字段1  字段1类型 [not null]:=表达式1; 字段2  字段2类型 [not null] :=表达式2; - ) ?        说明:记录之间相互赋值要求两个记录类型完全相同. ?        案例 举例1 --创建表并插入记录 create table student(idnumber, name varchar2(20), birthday date); insert

SQL Server 执行计划操作符详解(2)——串联(Concatenation )

本文接上文:SQL Server 执行计划操作符详解(1)--断言(Assert) 前言: 根据计划,本文开始讲述另外一个操作符串联(Concatenation),读者可以根据这个词(中英文均可)先幻想一下是干嘛的.其实还是挺直观,就是把东西连起来,那么下面我们来看看到底连什么?怎么连?什么时候连? 简介: 串联操作符既是物理操作符,也是逻辑操作符,在中文版SQL Server的图形化执行计划中称为"串联",在其他格式及英文版本中称为"Concatenation".