网站大量收购独家精品文档,联系QQ:2885784924

SQL语句应用举例.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL语句应用举例

SQL语句应用举例 一、SELECT语句 语法格式: SELECT [ALL|DISTINCT] 目标列 FROM 表(或查询) [WHERE 条件表达式] [GROUP BY 列名1 HAVING 过滤表达式] [ORDER BY 列名2 [ASC|DESC]] 功能:根据WHERE子句中的表达式,从FROM子句指定的基本表或视图中找出满足条件的记录,再按SELECT子句中的目标列显示数据。 如果有GROUP 子句,则按列名1的植进行分组,列名1值相等的记录分在一组,每一组产生一条记录。 如果GROUP子句带有HAVING短语,则只有满足过滤表达试的组才予以输出。 如果有ORDER BY子句,则查询结果按列名2的值进行排序。 1、基本部分 SELECT [ALL|DISTINCT] 目标列 FROM 表(或查询) 说明: 目标列的格式是:列名1[AS 别名1], 列名2 [AS 别名2],......,列名n[AS 别名n] FROM 子句指明了想从何处查询想要的数据,可以是多个表或视图。对SELECT语句来说,FROM是必须的,不能默认。 ALL表示查询的结果中可以包含重复的记录,是默认值;DISTINCT表示查询结果中不能出现重复的记录,如果有相同的记录,只保留一条。 一般情况下,目标列中的列名是FROM子句中基本表或视图中的字段名。如果FROM子句中指定了多个基本表或视图,并且列名有相同时,则列名之前应加前缀,格式为:“表明.列名”。AS子句中用来以新的名称命名输出列。 目标列是*号表示输出所有的字段。 目标列中的列名可以是一个使用SQL库函数的表达式,常用的函数见有: 合计函数 描述 AVG(列名) 计算某一列的平均值 COUNT(*) 统计记录的个数 COUNT(列名) 统计某一列值的个数 SUM(列名) 计算某一列的总和 MAX(列名) 计算某一列的最大值 MIN(列名) 计算某一列的最小值 LEFT(列名,n) 返回最左边的n个字符 例1列出表中姓名、性别、助学金情况。 SELECT 姓名,性别,助学金 FROM STUDENT 例2列出表中所有学生的基本的情况。 SELECT * FROM STUDENT 例3查询学生人数、最低助学金、最高助学金、平均助学金。 SELECT COUNT(*) AS 人数, MIN(助学金) AS 最低助学金, MAX(助学金) AS 最高助学金, AVG(助学金) AS 平均助学金 FROM? STUDENTS ?2.WHERE子句 WHERE子句有双重作用:一是选择记录,输出满足条件的记录;二是建立多个表或查询之间的链接。 例6 查询计算机专业学生的学号、姓名和专业。 SELECT 学号,姓名,专业? FROM? STUDENTS? WHERE? 专业=“计算机” ?例7显示所有非计算机专业学生的学号、姓名和年龄。 SELECT 学号,姓名,年龄?? YEAR(DATE())-YEAR(出生年月)?? AS 年龄 FROM? STUDENTS WHERE? 专业“计算机” ?例8 查询1981年以前(含1981)出生的女生的姓名和出生年月。 SELECT? 姓名,出生年月?? FROM?? STUDENT WHERE?? 出生年月#1/1/1982#?? AND? 性别=“女” ?3.ORDER? BY子句 ORDER? BY子句用于指定查询结果的排列顺序。ASC表示升序,DESC表示降序。默认为升序。 ?例9查询所有党员学生的学号和姓名,并按助学金由小到大排序。 SELECT?? 学号,姓名? FROM? STUDENTS ?? WHERE? 党员=TRUE ORDER? BY? 助学金 ?4.GROUP? BY 子句和HAVING子句 用来对查询结果分组,把某一列值相同的记录分为一组,一组产生一条记录。 例10 查询SCORES中所有课程的成绩在70分以上的学生的学号。 SELECT? 学号? FROM? SCORES? GROUP? BY? 学号 HAVING? MIN(成绩)=70 SELECT 字段1, 字段2, ... INTO 新表名 FROM 原表名 例:将表stuinfo中的计算机专业的学生,按年龄降序排序后,生成一个新表学生3 select * into 学生3 from stuinfo where 专业=计算机 order by year(date())-year(出生日期) desc insert语句 [格式1]: INSERT INTO 表名 [(字段名1,字段名2,...,字段名n)]

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档