怎样从简单数据库用sql语句查询数据

如题所述

查询是SQL语言的核心,SQL语言只提供唯一一个用于数据库查询的语句,即SELECT语句。用于表达SQL查询的SELECT语句是功能最强也是最复杂的SQL语句,它提供了很多选项和使用方法。SELECT语句的命令格式如下:

 

SELECT查询语句是由七个子句构成,其中SELECT和FROM子句是一个完整SELECT查询语句必须要有的,其它的子句可以根据具体需要任选。上述的每个子句功能说明如下:

(1)SELECT子句

列出所有要求SELECT语句进行检索的数据项,这些项可能取自数据库中关系表的列,也可以是SQL在执行查询时进行计算的表达式。这里的ALL和DISTINCT选项,表示查询出的结果中是否容许有内容重复的行出现,缺省时是ALL项,表示容许有重复的行出现,而*则表示查询出所指定关系表中所有的列。

(2)FROM子句

FROM子句列出包含所要查询的数据关系表。

(3)WHERE子句

WHERE子句告诉SQL只查询某些关系表中满足一定要求的行的数据,查询要求由WHERE子句中的查询条件确定。

(4)GROUP BY子句

GROUP BY子句指定当前查询是汇总查询,即不是对根据每行产生一个查询结果,而是对相似的行进行分组,然后再对每组产生一个汇总查询的结果。

(5)HAVING子句

HAVING子句告诉SQL只对由GROUP BY所得到的某些行组的结果进行过滤,选择出满足分组条件的分组。

(6)ORDER BY子句

ORDER BY子句确定是否将查询出的结果按一列或多列中的数据进行排序,缺省时是不排序的。

(7)INTO子句

INTO子句确定是否将查询出的结果存入一张新的关系表中,缺省时只将查询出现的结果显示在屏幕上。这是非标准SELECT语句中的子句,但目前绝大多数实际应用的SQL数据库系统的SQL语言提供了这一选项。

下面是一些使用SELECT查询语句进行数据查询的示例。

例1:列出销售额超过6000元的销售人员的姓名、销售目标和超过销售目标的销售额。

SELECT NAME,QUOTA,(SALES_QUOTA)

FROM SALESREPS

WHERE SALES>6000

例2:查出1999年最后一个季度的订单情况。

SELECT ORDER_NUM,ORDER_DATE,PRODUCT,AMOUNT

FROM ORDERS

WHERE ORDER_DATE BETWEEN "01-OCT-99" AND "31-DEC-99"

例3:查出名称是以ABC开头的产品订单情况。

SELECT ORDER_NUM,ORDER_DATE,PRODUCT,AMOUNT

FROM ORDERS

WHERE PRODUCT LIKE "ABC%"

例4:列出所有的销售处,按区域名字母顺序排列。

SELECT CITY,REGION

FROM OFFICE

ORDER BY REGION ASC

在这里ASC表示升序,如果表示降序可用DESC。

例5:列出每个销售人员以及他们工作的城市和区域的情况。

SELECT NAME,CITY,REGION

FROM SALESREPS,OFFICE

WHERE REP_OFFICE=OFFICE

例6:查出有多少销售员的销售额超过了其目标额,以及他们的销售额总和。

SELECT COUNT(NAME),SUM(SALES)

FROM SALESREPS

WHERE SALES>QUOTA

温馨提示:答案为网友推荐,仅供参考
相似回答