单表查询-SELECT-FROM-WHERE 示例:检索学生表中所有学生的信息 Select * From Student ; //如投影所有列,则可以用*来简写 示例:检索学生表中所有学生的姓名及年龄 示例:检索学生表中所有年龄小于等于19岁的学生的年龄及姓名 检索条件-SELECT-FROM-WHERE 示例:检索教师表中所有工资少于1500元或者工资大于2000元 并且是03系的教师姓名? 示例:求或者学过001号课程, 或者学过002号课程的学生的学号 示例:求既学过001号课程, 又学过002号课程的学生的学号? 检索结果之去重复记录-SELECT DISTINCT FROM-WHERE 示例:在选课表中,检索成绩大于80分的所有学号 检索结果之排序-SELECT-FROM-WHERE-ORDER BY 示例:按学号由小到大的顺序显示出所有学生的学号及姓名 示例:检索002号课大于80分的所有同学学号并按成绩由高到低顺序显示 模糊查询-SELECT-FROM-WHERE * LIKE * 示例:检索所有姓张的学生学号及姓名 示例:检索名字为张某某的所有同学姓名 示例:检索名字不姓张的所有同学姓名
Select 的简单语法形式:
Select 列名 [[, 列名] … ]
From 表名
[ Where 检索条件 ] ;
语义:从表名所给出的表中,查询出满足检索条件的元组,并按给定的列名及顺序进行投影显示。
相当于:
Select语句中的select … , from… , where…, 等被称为子句,在以上基本形式基础上会增加许多构成要素,也会增加许多新的子句,满足不同的需求。
Select S#, Sname, Ssex, Sage, Sclass, D#
From Student ;
Select Sname, Sage //投影出某些列
From Student ;
Select Sage, Sname //投影的列可以重新排定顺序
From Student
Where Sage <= 19;
其逻辑运算符用 and , or, not 来表示, 同时也要注意运算符的优先次序及括弧的使用。书写要点是注意对自然语言检索条件的正确理解。
错误示范:
Select Tname
From Teacher
Where Salary < 1500 or Salary > 2000 and D# = ’03’;
(这样选出来的是工资大于2000且是三系 或 工资少于1500 的教师,这样的结果不一定都是3系的,与题目不符)
正确示范:
Select Tname
From Teacher
Where (Salary < 1500 or Salary > 2000) and D# = ’03’;
(要善于运用括号控制优先级)
Select S# From SC
Where C# = ‘001’ OR C#=‘002’;(C#是字符型数据,须加引号)
错误示范:
Select S# From SC
Where C# = ‘001’ AND C#=‘002’;
(这样的结果是空值)
正确示范:
Select S1.S# From SC S1, SC S2
Where S1.S# = S2.S# and S1.C#=‘001’
and S2.C#=‘002 ;
(需用到多表联合查询)
结果唯一性问题
关系模型不允许出现重复元组。但现实DBMS,却允许出现重复元组,但也允许无重复元组。
在Table中要求无重复元组是通过定义Primary key或Unique来保证的;而在检索结果中要求无重复元组, 是通过DISTINCT保留字的使用来实现的。
Select S#
From SC
Where Score > 80 ;
//有重复元组出现,比如一个同学两门以上课程大于80
Select DISTINCT S#
From SC
Where Score > 80;
//重复元组被DISTINCT过滤掉,只保留一份
结果排序问题
DBMS可以对检索结果进行排序,可以升序排列,也可以降序排列。
Select语句中结果排序是通过增加order by子句实现的
order by 列名 [asc | desc]
意义为检索结果按指定列名进行排序,若后跟asc或省略,则为升序;若后跟desc, 则为降序。
Select S#, Sname From Student
Order By S# ASC ;
Select S# From SC Where C# = ‘002’ and Score > 80
Order By Score DESC ;
模糊查询问题
比如检索姓张的学生,检索张某某;这类查询问题,Select语句是通过在检
索条件中引入运算符like来表示的
含有like运算符的表达式:
列名 [not] like “字符串”
找出匹配给定字符串的字符串。其中给定字符串中可以出现%, _ 等匹配符。
匹配规则:
“%” 匹配零个或多个字符
“ _ ” 匹配任意单个字符
“ ” 转义字符,用于去掉一些特殊字符的特定含义,使其被作为普通字符看待, 如用 “ % ”去匹配字符%,用 _ 去匹配字符_
Select S#, Sname From Student
Where Sname Like ‘张%’ ;
Select Sname From Student
Where Sname Like ‘张_ _ _ _’;
(两个下划线表示一个汉字)
Select Sname From Student
Where Sname Not Like ‘张%’;
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算