SQL简单查询

简单的查询

一、  查询的基本结构

1. SELECT的基本结构:

SELECT [DISTINCT | ALL] select_list

FROM    table_name_source

[WHERE  search_condition]

[GROUG BY group_by_expression]

[HAVING     search_condition]

[ORDER BY order_expression [ASC|DESC]]

         必须的句子只有:SELECT 和 FROM 子句,其他句子都是可选的。各个部分具体含义如下:

A. 关键字SELECT后面输入要现实的字段清单。SECECT子句包含可选关键字DISTINCT 和ALL 。在需要删除结构中相同的行时,使用关键字DISTINCT;在需要返回查询结构中所有的行时,使用关键字ALL。如果没有指定任何一个关键字,那么关键字ALL就是默认的关键字。

B. FROM子句包括FROM 和一个或多个表结构,如果表结构不止一个,那么他们之间必须用逗号隔开。一般情况下,表结构是表的名称,但也可以是一种子查询。

C. 在WHERE子句中列出搜索标准,用于选择要现实的数据行。如果SELECT语句没有WHERE子句,DBMS假设目标行中所有的行都满足条件。

D. GROUP BY子句,用于分组查询结果。根据group_by_expression 中列出的列,归纳信息类型,汇总相关数据。

E. HAVING 子句,列出另外的行选择标准准,以便根据GROUP BY子句产生的结果筛选行。

F. ORDER BY 子句,接受SELECT 子句的输出,并且按照ORDER BY子句中的规范,对查询结果进行排列。这里的规范就是ASC和DESC关键字。ASC关键字表示生序排列结果,DESC表示将序排列结果。如果没有指定任何一个关键字,那么ASC就是默认的关键字。如果没有ORDER BY子句,DBMS将根据表中的数据来显示数据。

2. 列的查询

创建Teacher表

CREATE TABLE_NAME Teacher

{

TON INT NOT ALL,

TNAME CHAR(10) NOT ALL,

CON INT NOT ALL,

SAL INT,

DNAME CHAR(10) NOT ALL,

TSEX CHAR(2) NOT ALL,

AGE INT NOT ALL

}

INSERT INTO Teacher VALUES(1,‘王军’,4,800,‘数学’,‘男’,32)

INSERT INTO Teacher VALUES(2,‘李彤’,5,1200,‘生物’,‘女’,54)

……

2.1单列查询:

SELECT column

FROM   table_name_name

SELECT指明要查询的字段名称(column),FROM关键字指明要获取字段的信息表的名称。

如 SELECT TNAME

   FROM   Teacher

2.2使用DISTINCT 去除重复信息

SELECT DISTINCT column

FROM   table_name_name

2.3多列查询:

SELECT   co1,co2,co3,……,coln

FROM   table_name

如: SELECT  TNAME ,SAL,AGE

FROM Teacher

            2.4查询所有的列:

            SELECT *

            FROM table_name

            *是通配符,查询结果将列出所有列的元素,而不必指明各个列的列名,这在用户不清楚表中各列的列名时非常有用。

       3.查询结果排序:

           3.1单列排列:

           SELECT  column1,colum2,…

           FROM    table_name_name

           ORDER  BY column_N

           (ORDER BY 一定要放在所有子句的最后。)

          3.2多列排序:

           SELECT col1,col2,…,coln

           FROM  table_name

           ORDER BY  col1,col2,…,colm

          实际排序结果是根据ORDER BY 子句后面列明的顺序确定优先顺序的。

           3.3采用序号进行多列排序:

            SELECT col1,col2,…,coln

            FROM table_name

            ORDER BY I,j,…

            3.4反向排序:

            SELECT col1,col2,…,coln

            FROM table_name

            ORDER BY col1 DESC ,col2

4.使用WHERE子句定义搜索条件查询:

4.1WHERE 子句单条件查询:

SELECT column

 FROM table_name

 WHERE column condition_value

 如:

  SELECT TNAME,DNAME,AGE,TSEX

  FROM   Teacher

  WHERE  DNAME=‘计算机’

  ORDER BY AGE

4.2但只比较运算符:

(1)“>=”运算符

  SELECT TNAME,DNAME,AGE,TSEX

  FROM Teacher

  WHERE AGE>=40

 (2)“<>”运算符

  “<>”表示不等于,相当于“!=”运算符

 4.3 BETWEEN 运算符范围筛选:

 SELECT TNAME,DNAME,AGE,TSEX

 FROM Teacher

 WHERE  AGE BETWEEN 30 AND 50

 ORDER BY AGE

从表Teacher中筛选年龄30到50之间的信息

4.4  NULL值的判断

 SELECT TNAME,SAL,AGE,TSEX

FROM Teacher

WHERE SAL IS NOT ALL

ORDER BY SAL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值