SQL查询语句 蔡海洋.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
第八单元 数据库MySQL应用基础 MySQL数据库应用基础 MySQ数据库操作使用 Mysql管理工具 第25章 数据库的增加/删除操作
第6章 数据库管理软件Access 年秋.
目 录 第 1 章 数据库技术基础 第 2 章 SQL Server基础 第 3 章 数据库管理 第 4 章 查询和视图
SQL的简单查询.
第5章 关系数据库标准语言SQL 主讲:张丽芳.
十一 ASP对数据库的访问.
第2章 SQL语言初步 2.1 SQL的基本概念 2.2 基本表、索引的创建、删除和修改操作 2.3 SQL的查询语句——SELECT
第2讲 Transact-SQL语言.
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
数据库技术 实践.
高等院校计算机教材系列 数据库原理与应用(第2版) 任课教师:刘雅莉
Chap 11 SQL基本查詢指令.
第8章 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
第3章 SQL语言初步 2017/3/14.
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
資料庫 (Database) SQL Server 2008實作
第3章 SQL的基础知识 数据库管理及应用 3.1 SQL简介 3.2 SQL的数据模型 3.3 标识符 3.4 使用SQL语句管理数据库
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
文科计算机小公共课规划教材 Access 程序设计.
第一讲 数据查询优化.
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
计算机应用基础 上海大学计算中心.
第3章 数据查询与SQL命令.
数据库应用与程序设计.
關聯式資料庫.
Access 2007 進銷存管理系統實作 文魁資訊股份有限公司.
第六章 學習SQL語言.
9 SELECT敘述的進階查詢 9-1 SQL的多資料表查詢 9-2 合併查詢 9-3 集合運算查詢 9-4 子查詢
課程名稱:資料庫系統 授課老師:李春雄 博士
数据库技术 第三章 关系数据库标准语言SQL 中国科学技术大学网络学院 阚卫华.
Chapter 12 T-SQL 語法與 ASP.NET.
2、掌握SQL中各种查询方法和数据更新方法 3、掌握SQL中视图的定义方法和用法 4、掌握SQL的授权机制
Chap 10 SQL定義、操作與控制指令.
資料庫安全 (Database Security)
彰化縣政府補助辦理網頁設計資料庫應用班 ASP與資料庫介紹 建國技術學院資管系 饒瑞佶.
Transact-SQL 語言設計教學.
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
实验 2:MS Access QBE Query使用
国家“十一五”规划教材 数据库原理与应用教程(第3版).
SQL SERVER 一些经典语句 1.
MySQL 結構化查詢語言 MySQL.
第十七章 資料庫SQL 17-1 SELECT 17-2 INSERT 17-3 UPDATE 17-4 DELETE.
資料庫管理(Access 2003) 第五章 利用查詢來 統計與分析資料 許欽嘉 老師.
SQL Injection (資料隱碼) 學生:a 吳倩瑜 指導教授:梁明章.
数据库技术.
第20章 MySQL数据库.
数据库技术与应用.
第11章 ListView延迟加载效果 授课老师:高成珍 QQ号: QQ群: 、
数据库技术.
第18章 SQL結構化查詢語言 18-1 SQL語言的基礎 18-2 SQL的查詢指令 18-3 SQL子查詢與合併查詢.
資料庫系統 李翊豪 2017/12/21 Reference
4.2 视图 (1) 视图是一个虚拟表,其内容来自对表查询的基础上。
CS, ZJU 4/18/2019 Chapter 7 数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
3. SQL语言的应用 3.1 SQL历史和优点 3.2 数据查询 3.3 数据操纵.
学习目标 1、什么是表连接 2、表连接类型 3、表连接区别.
查询与视图 蔡海洋.
第14章 SQL数据查询与操纵 内容提要 本章知识点
第三章 SQL Server数据管理.
8 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
SQL語法教學 2015/10/15 John.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
模块六 数据库管理软件——Access 2010.
第4章 数据查询.
第 9 章 查詢資料- 善用 SELECT 敘述.
Presentation transcript:

SQL查询语句 蔡海洋

Select-SQL数据查询语言 SQL(Structured Query Language)是结构化查询语言。

SQL语言特点 类似于英语自然语言,简单易学 是一种面向集合的语言 可独立使用,也可嵌入到宿主语言中使用 具有查询、操纵、定义和控制功能 所使用的表无需打开和建立关联

SQL查询 基本查询 SELECT…FROM 带条件查询 WHERE 嵌套查询 多表查询 (JOIN…ON) 排序输出 ORDER BY 重定向输出 INTO | TO 分组统计查询 GROUP BY

SQL简单查询 格式: SELECT [ALL | DISTINCT]<选择项> FROM <表名> 说明: DISTICT:显示无重复结果的记录 选择项:可以是字段名、常量或表达式 FROM后的查询来源可以是基本表或视图

基本查询举例 列出全部学生信息 Select * from student

基本查询举例 列出全部学生的姓名和年龄,去掉重名 Select distinct 姓名,year(date())-year(出生日期); as 年龄 from student

基本查询举例 求出所有学生的入学成绩平均分 Select avg(入学成绩) as 入学成绩平均分; from student

带条件查询 格式: SELECT … FROM … WHERE <条件> 常用运算符: = <> != > >= < <= NOT AND OR BETWEEN…AND LIKE " " 通配符:%(任意个)_(一个) IN ( ) 在某一集合中 IS NULL 是否为空(未定义)

带条件查询举例 where 籍贯= "江苏" or 籍贯= "贵州" [ where 籍贯 in ("江苏" ,"贵州") ] 列出江苏籍和贵州籍的学生名单 Select 学号,姓名,籍贯 from student; where 籍贯= "江苏" or 籍贯= "贵州" [ where 籍贯 in ("江苏" ,"贵州") ]

带条件查询举例 列出入学成绩在560分到650分之间的学生名单 Select 学号,姓名,入学成绩 from student; where 入学成绩>=560 and 入学成绩<=650 (where入学成绩 between 560 and 650)

带条件查询举例 列出所有姓赵的学生名单 Select 学号,姓名 from student; where 姓名 like "赵%" (where 姓名= "赵")

带条件查询举例 列出所有成绩为空值的学生学号和课程号 Select 学号,课程号 from choose; where 成绩 is null

嵌套查询举例—返回单值的子查询 列出选修“数据库原理”的所有学生的学号 Select 学号 from choose where 课程号=; (select 课程号 from course ; where 课程名= "数据库原理") Choose

嵌套查询举例—返回一组值的子查询 列出选修“01101”课的学生中成绩比选修“01102”的最低成绩高的学生的学号和成绩。 sele 学号,成绩 from choose where 课程号="01101" and; 成绩>any (sele 成绩 from choose where 课程号="01102") Choose Choose

嵌套查询举例—返回一组值的子查询 列出选修“01101”课的学生中成绩比选修“01102”的最高成绩高的学生的学号和成绩。 sele 学号,成绩 from choose where 课程号="01101" and; 成绩>all (sele 成绩 from choose where 课程号="01102") Choose Choose

嵌套查询举例—返回一组值的子查询 列出选修“数据库原理”或“软件工程”的所有学生的学号 Sele 学号 from choose where 课程号 in; (sele 课程号 from course where ; 课程名= “数据库原理” or 课程名= "软件工程" ) Choose

多表查询—等值联接 按对应字段的共同值将一个表中的记录与另一个表中的记录相联接。 例输出所有学生的成绩单,要求给出学号、姓名、课程号、课程名和成绩。 sele a.学号,a.姓名,b.课程号,c.课程名,b.成绩;from student a,choose b,course c; where a.学号=b.学号 and b.课程号=c.课程号

sele a.学号, a.姓名, b.课程号, c.课程名, b.成绩; from student a inner join choose b; inner join course c; on c.课程号 = b.课程号 on a.学号 = b.学号

多表查询—非等值联接 例列出选修“01102”课的学生中,成绩大于学号为“200109”的学生该门课成绩的那些学生的学号及其成绩。 sele a.学号,a.成绩 from choose a,choose b; where a.成绩>b.成绩 and a.课程号=b.课程号and b.课程号= "01102" and b.学号= "200109"

sele a.学号,a.成绩 from choose a,choose b; where a.成绩>b.成绩 and a.课程号=b.课程号and b.课程号= "01102" and b.学号= "200109" Choose Choose

排序查询 格式: ORDER BY <排序项> [ASC | DESC] 例按性别顺序列出学生的学号、姓名、性别、课程名及成绩,性别相同的再先按课程后按成绩由高到低排序。 sele a.学号,a.姓名,a.性别,c.课程名,b.成绩 ; from 学生 a,选课 b,课程 c; where a.学号=b.学号 and b.课程号=c.课程号; order by a.性别,c.课程名,b.成绩 desc

输出流向查询 格式: INTO ARRAY | CURSOR | TABLE | DBF TO <文件名> TO PRINTER TO SCREEN

分组查询 格式: GROUP BY <组合列表> [HAVING <过滤条件>] 说明: HAVING:设置过滤条件,与GROUP BY一起使用,指定结果中的组必须满足的条件

例 分别统计男女人数。 sele 性别, count(性别) from student ; group by 性别 例 分别统计男女中少数民族学生人数。 group by 性别 where 少数民族否 注:先where筛选,后分组统计。

sele 课程号,avg(成绩) from choose ; group by 课程号 having avg(成绩)>= 80 例列出成绩平均分大于80分的课程号  sele 课程号,avg(成绩) from choose ; group by 课程号 having avg(成绩)>= 80 注:先分组统计,后having筛选 。

SQL定义语句 定义基本表 CREATE TABLE <表名> (字段名1 类型 长度 ,字段名2 类型 长度 , ……) (字段名1 类型 长度 ,字段名2 类型 长度 , ……) 修改表 增加字段:ALTER TABLE <表名> ADD 修改字段:ALTER TABLE <表名> ALTER 删除字段:ALTER TABLE <表名> DROP 删除表 DROP TABLE <表名>

SQL表记录操作语句 插入记录 INSERT INTO <表名> (字段序列) VALUES(记录具体值) 更新记录 UPDATE <表名> SET <字段名=值>[,……] 删除记录 DELETE FROM <表名> WHERE <条件>

实验作业 例6.6/ 6.7(2)/ 6.9/ 6.10/ 6.11/ 6.12 6.13/ 6.14(1)/ 6.15/ 6.17/ 6.20 6.21/ 6.23/ 6.24