基本SELECT语句(一)--学习笔记

  用SELECT语句可以实现数据库的查询操作,同时,它还可以使用各种子句对查询结果进行分组统计、合计、排序等操作。SELECT语句还可以将查询结果生成另一个表(临时表或永久表)。

  SELECT语句的语法格式:

SELECT [ALL|DISTINCT] select_list
[INTO [new_table_name]]
[FROM {table_name,table_name2,...|view_name,view_name2,...}]
[WHERE clause]
[GROUP BY clause(子句)]
[HAVING clause(子句)]
[ORDER BY clause(子句)]
[COMPUTE clause(子句)]
[FOR BROWSE]

在使用中,子句可以省略,但在列出时按以上顺序。

1、简单查询

  简单查询包括SELECT列表、FROM子句和WHERE子句,它们分别指出所查询的列、查询对象(表或视图)、搜索条件等。

如:查询TongFuHotel表中年龄小于30岁的男性

1 SELECT TongFuHotel.Name,TongFuHotel.Job
2 FROM TongFuHotel
3 WHERE TongFuHotel.Age<30 AND TongFuHotel.Sex=‘男‘

(1)SELECT列表语句

  SELECT列表语句(select_list)指定所选择的列,它可以为一组列名列表、星号、表达式、变量等构成。当用星号表示则为选择指定表或视图中的所有列。

SELECT *FROM TongFuHotel

使用SELECT列表语句时,多个被指定的列名之间用逗号分隔。SELECT列表还可以对数值列进行算术运算(包括加、减、乘、除、取模等)。其中,加、减、乘、除操作适用于任何数值型(如int、smallint、tinyint、decimal、numeric、float、money、smallmoney等),而取模运算不能用于money和smallmoney数据类型。此外,还可以指定字符串常量或变量改变它们的输出结果。

  在SELECT语句中使用ALL|DISTINCT选项来显示所有行(ALL)或删除重复的行(DISTINCT),缺省时为ALL。使用DISTINCT选项时,对于所有数据重复的SELECT列表数值只显示一次。

SELECT DISTINCT job FROM TongFuHotel

(2)FROM子句

  FROM子句指定SELECT语句查询相关的表或视图。最多可指定16个表或视图,相互之间用逗号分隔。如果这些表或视图属于不同的数据库,可用“数据库.所有者名称.对象”格式指定表或视图。

  在FROM子句中可为每个表或视图指定一个别名,别名紧跟在对象名称之后,用空格分隔,允许使用别名引用表中各列。

1 SELECT Name,Job
2 FROM TongFuHotel t
3 WHERE t.Age<30 AND t.Sex=‘男‘

(3)WHERE子句限定搜索条件

①WHERE语句可包含条件运算符

a、比较运算符    >、<、>=、<=、=、<>、!>、!<   (大小比较)

b、范围运算符    BWTWEEN...AND、NOT BETWEEN...AND   (判断表达式值是否在指定范围之内)

c、列表运算符    IN、NOT IN    (判断表达式值是否为列表中的指定项)

d、模式匹配符    LIKE、NOT LIKE    (判断列植是否与指定的字符统配格式相符)

e、空值判断符    IS NULL、NOT IS NULL   (判断表达式值是否为空)

f、逻辑运算符    AND、OR、NOT    (用于多条件的逻辑连接)

②WHERE语句可包含模式匹配符

a、%:可匹配任意类型长度的字符

b、_:匹配单个任意字符,常用于限制表达式的字符长度

c、[]:指定一个字符、字符串或范围,要求所匹配对象为它们中的任一字符

d、[^]:取值与[]相同,但要求所匹配对象为指定字符以外的任一字符

参考文献:精通C#数据库编程.王华杰,黄山编著——北京:科学出版社,2003.10

时间: 2024-11-10 12:58:31

基本SELECT语句(一)--学习笔记的相关文章

SQL语句教程学习笔记之一

转自http://www.1keydata.com/cn/sql/ 无论您是一位 SQL 的新手,或是一位只是需要对 SQL 复习一下的资料仓储业界老将, 您就来对地方了.这个 SQL 教材网站列出常用的 SQL 指令.包含以下几个部分: SQL 指令: SQL 如何被用来储存.读取.以及处理数据库之中的资料. 表格处理: SQL 如何被用来处理数据库中的表格. SQL语法: 这一页列出所有在这个教材中被提到的 SQL 语法. 对于每一个指令,我们将会先列出及解释这个指令的语法,然后我们会用一个

mysql查询语句(mysql学习笔记七)

Sql语句 一般顺序GHOL : group by,having ,order by,limit     如果是分组,应该使用对分组字段进行排序的group by语法                     Limit start ,length                    去除重复记录默认为all Select distinct 字段  from Select distinct * from 没用(所有字段组合不相同才认为不相同,用在这里基本没用),记录值完全一样时取其一个 Unio

MySQL基础语句【学习笔记】

放在这里,以备后查. 1. 数据库, 数据库服务器, 数据库语言 数据库,是持久性数据的集合,供给定企业的应用程序系统使用,并且由一个数据库管理系统来管理: 数据库服务器,又称数据库管理系统,用来管理数据库(高效地存储.查询.更新数据库,并维护数据库的完整性状态):                  数据库语言,是应用程序用来向数据库服务器发送命令并从中取出所需要数据的特定语言. 2.  系统变量 查询系统变量: SELECT @@系统变量名 , eg. SELECT @@DATADIR    

Oracle PL/SQL语句基础学习笔记(上)

PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE server和其它工具中了,近几年中很多其它的开发者和DBA開始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件.以及怎样设计并运行一个PL/SQL程序. 1.PL/SQL的长处 从版本号6開始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的长处以及其独有的数据管理的便利性,那么你非常难想象ORACLE缺了PL/SQL的情形.PL/SQL 不是一个独立的产品,他

PROCESS_YIELD()宏和C语言的switch语句&lt; contiki学习笔记之七&gt;

写在前面:  按照main()函数的代码一行一行的分析,该是看到了 etimer_process 这个位置.但是etimer_process实现里的一个宏 PROCESS_YIELD()引出了很多故事,于是单独把整个宏的东西整理成笔记,贴出来,和学习contiki的伙伴分享. 在说这个宏之前,得先记下c 语言的switch()遭遇. switch()从表面上来看,或许应该是非常简单的问题--C语言的基本功吧.它的使用方式,按照常规来说,如下图所示: 好吧,那就贴一段常规的代码: 1 int ma

JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)

1.delete是一元操作符,用来删除对象属性或者元素. var a={ x:1, y:2 } delete a.x; //删除x属性 “x”in a //false:a对象中已经不存在x属性 alert(a.x) //undefined;这里还是存在“东西”的 就如: var b=[1,2,3]; delete b[0]; b.length //3:还是3,虽然上面已经删除了b[0] 2.void运算符 void忽略操作的值,因此在操作数具有辅助作用的时候使用void来让程序更具语义 例子:

if 语句 基础学习笔记 (一)

如何设定变量,引用 [[email protected] ~]# ANIMAL=pig      #定义变量值 [[email protected] ~]# echo "There are some $ANIMALs."    # {}也可以引用变量 There are some . [[email protected] ~]# echo "There are some ${ANIMAL}s."  # 双引号弱引用,替换变量 There are some pigs.

Oracle变量定义的三种方式(define,variable,declare)学习笔记

1.define(即host变量) Host变量主要作用是起到一个替代变量的作用,是主机环境可以和oracle进行交互的一个媒介. 通过define定义host变量的时候必须指定变量名和变量的值,如果变量名已经存在于host变量中,则自动覆盖,这个值不可以指定类型,一律按char存储. DEFINE 变量只在当前session环境中有效. (1).语法: define variable_name = value (2).声明和初始化DEFINE变量 //声明define变量的时候必须同时初始化赋

简单的玩玩etimer &lt;contiki学习笔记之九&gt;

好吧,我承认etimer有点小复杂,主要是它似乎和contiki的process搅在一起,到处都在call_process.那就先搜搜contiki下的etimer的example看看,然后再试着写一个demo玩玩. 在写demo之前,先说说自己是怎么找到etimer 的example的文件的. 在core/sys/etimer.h 文件中,在描述etimer的数据结构的时候,作者显示的指出,如果要使用etimer,就必须先使用 etimer_set()这个函数进行一些工作,如图: 是的,数据结

【我的Oracle学习笔记(二)】----- select语句补充

一.多表查询 多表查询是指从多个有关联的表中查询数据,其语法与单表查询类似.一般来说,多表查询的表要用连接联系起来,如果没连接,则查询结果是这多个查询表的笛卡尔积(注释1). 模拟查询雇员姓名和所在部门名称: select [雇员姓名],[部门名称] from [雇员表] a,scott,[部门表] b where a.[部门编号]=b.[部门编号]; 上例中,为每一个查询表指定了别名,便于SQL语句的书写. 模拟查询在”sales“部门工作的雇员其雇员姓名 select [雇员姓名] from