select sql
Download
Skip this Video
Download Presentation
SELECT-SQL 查询语句

Loading in 2 Seconds...

play fullscreen
1 / 24

SELECT-SQL 查询语句 - PowerPoint PPT Presentation


  • 67 Views
  • Uploaded on

SELECT-SQL 查询语句. SQL(Structure Query Language ,结构化查询语句 ) 是美国国家标准局按 ANSI 确认的关系数据库语言的标准,用于对关系型数据库中的数据进行存储、查询、更新等操作。 SQL 语言是一种交互式的计算机语言,它不仅能在单机环境下提供对数据库的各种访问操作,而且还可作为一种分布式数据库语言用于客户 / 服务器模式数据库应用的开发。. SQL 命令动词. 查询功能.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' SELECT-SQL 查询语句' - petra-frost


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
select sql
SELECT-SQL查询语句
  • SQL(Structure Query Language,结构化查询语句)是美国国家标准局按ANSI确认的关系数据库语言的标准,用于对关系型数据库中的数据进行存储、查询、更新等操作。SQL语言是一种交互式的计算机语言,它不仅能在单机环境下提供对数据库的各种访问操作,而且还可作为一种分布式数据库语言用于客户/服务器模式数据库应用的开发。
slide3
查询功能
  • SQL查询语句的格式主要有SELECT 子句、FROM子句、INTO子句、TO子句、WHERE子句、GROUP BY子句和ORDER BY 子句,
select
SELECT主要短语的含义:
  • SELECT 说明要查询的数据
  • FROM 说明要查询的数据来自那个或那些表;
  • WHERE 说明查询条件;
slide5
GROUP BY短语用于对查询结果进行分组,可以利用它进行分组汇总;
    • HAVING短语必须跟随GROUP BY使用,它用来限定分组必须满足的条件;
  • OREDR BY短语用来对查询的结果进行排序,默认为升序。ASC升序(ascent) ,DESC降序(descent)
slide6
简单查询
  • SELECT 、FROM 、WHERE 三个子句构成最常用的、最基本的SQL查询语句。
select sql1
SELECT-SQL应用举例
  • 查询STUDENT.DBF表中的全部信息。
    • SELECT * FROM STUDENT
  • 查询STUDENT.DBF表中所有同学的姓名,院系
    • SELECT 姓名,院系 FROM STUDENT
slide8
查询STUDENT.DBF表中女生的全部信息
    • SELECT * FROM STUDENT WHERE 性别=“女”
slide9
SELECT 姓名,出生日期 as 出生日 FROM STUDENT
  • 查询结果的字段名列表可以使用别名
slide10
查询STUDENT.DBF表中所有同学的学号、姓名和年龄。查询STUDENT.DBF表中所有同学的学号、姓名和年龄。
    • SELECT 学号,姓名,YEAR(DATE())-;

YEAR(出生年月) AS 年龄 FROM STUDENT

  • 查询STUDENT.DBF表中所有“公共卫生"专业或"临床医学"专业同学的学号,姓名,专业信息。
    • SELECT 学号,姓名,专业 FROM STUDENT WHERE 专业=“公共卫生" OR 专业="临床医学"
slide11
查询SCORE.DBF表中所有同学的学号、计算机成绩(降序)。查询SCORE.DBF表中所有同学的学号、计算机成绩(降序)。
    • SELECT 学号,成绩 FROM SCORE ORDER BY 成绩 DESCENT
  • 查询计算机成绩前三名学生
    • SELECT * TOP 3 FROM SCORE ORDER BY 成绩 DESC
slide12
查询STUDENT表中学号以98开头的男同学的所有信息查询STUDENT表中学号以98开头的男同学的所有信息
    • SELECT * FROM STUDENT WHERE 学号 LIKE "98*" and 性别="男"
slide13
简单的联接查询
  • 找出“数据挖掘原理”成绩大于等于80分以上的学生学号姓名和专业
  • SELECT student.学号,姓名,院系 as 专业
  • FROM student,score,course
  • WHERE 成绩>=80 AND course.课程名="数据挖掘原理" and student.学号=score.学号 AND score.课程号=course.课程号;
  • SELECT student.学号, student.姓名, student.院系

FROM student INNER JOIN (course INNER JOIN score ON course.课程号 = score.课程号) ON student.学号 = score.学号

WHERE score.成绩>=80 AND course.课程名="数据挖掘原理";

slide14
嵌套查询
  • 找出“数据挖掘原理”成绩大于等于80分以上的学生学号姓名和专业还可一这样写
    • SELECT student.学号, student.姓名, student.院系 AS 专业
    • FROM student, score, course
    • WHERE (((score.成绩)>=80) AND ((score.课程号) in (select course.课程号 from course where 课程名="数据挖掘原理")));
  • 上述SQL语句执行的是两个过程,首先在course中找出课程名为“数据挖掘原理”课程号
slide15
联合查询
  • 例 :查询STUDENT.DBF表中所有“公共卫生"专业或"临床医学"专业同学的学号,姓名,专业信息。
    • SELECT 学号,姓名 FROM STUDENT WHERE 专业="临床医学" UNION;

SELECT 学号,姓名 FROM STUDENT WHERE 专业=“公共卫生"

slide16
举例
  • 显示所有已选课同学的学号、姓名
  • select distinct student.学号,姓名 from student, course where student.学号=course.学号
  • select 学号,姓名 from student where 学号 in(select distinct 学号 from course)
slide17
显示所有没有选课的同学的信息
  • select * from student where 学号 not in(select 学号 from course)
slide18
显示所有成绩在90分以上(含90)的同学的姓名、所属院系和所选的课程名称和成绩显示所有成绩在90分以上(含90)的同学的姓名、所属院系和所选的课程名称和成绩
  • select 姓名,院系,课程名,成绩 from student,sc,course where student.学号 not in (select distinct 学号 from sc where 成绩<90) and student.学号=sc.学号and sc.课程号=course.课程号
slide19
查询与刘昕在同一个系学习的学生信息
  • select * from student where 院系=(select 院系 from student where 姓名="刘昕")
  • 当子查询的结果是一个值时,可以用IN,也可以用等号(=),但是当子查询的结果是一组值时,只能用IN
slide20
简单的计算查询
  • 命令参数 说明
  • COUNT(*) 计算表中记录的总数
  • COUNT(列) 对一列中的值计算个数
  • SUM(数值表达式) 计算数值表达式的和
  • AVG(数值表达式) 计算数值表达式的平均值
  • MIN(表达式) 求(数值、日期、字符)最小值
  • MAX(表达式) 求(数值、日期、字符)最大值
slide22
统计基础医学专业学生的平均分数
    • SELECT Avg(SCORE.成绩) AS 平均分

FROM SCORE

WHERE SCORE.学号 In (SELECT 学号 FROM STUDENT WHERE 院系="基础医学");

slide23
分组与计算
  • 分别统计男生和女生的人数
    • SELECT 性别,COUNT(*) AS 人数 FROM STUDENT GROUP BY 性别
  • 按专业统计人数并按降序排列
    • SELECT 院系,COUNT(*) as 人数 FROM STUDENT GROUP BY 院系 ORDER BY 2 DESC
slide24
查询至少有两门以上课程不及格的学生信息
  • Select * from student where 学号 in (select 学号 from score where 成绩<60 group by 学号 having count(*)>=2)
ad