非常不错的SQL语句学习手册实例版第2/3页
更新时间:2007年03月25日 00:00:00 作者:
单表操作
例 16 找出 3 个学分的课程号和课程名。
Select CNO, CNAME FROM COURSES Where CREDIT = 3
例 17 查询年龄大于 22 岁的学生情况。
Select * FROM STUDENTS Where AGE > 22
例 18 找出籍贯为河北的男生的姓名和年龄。
Select SNAME, AGE FROM STUDENTS
Where BPLACE = ' 河北 ' AND SEX = ' 男 '
例 19 找出年龄在 20 ~ 23 岁之间的学生的学号、姓名和年龄,并按年龄升序排序。 (ASC (升序)或 DESC (降序)声明排序的方式,缺省为升序。 )
Select SNO, SNAME, AGE FROM STUDENTS
Where AGE BETWEEN 20 AND 23
orDER BY AGE
例 20 找出年龄小于 23 岁、籍贯是湖南或湖北的学生的姓名和性别。(条件比较运算符=、< 和逻辑运算符 AND (与),此外还可以使用的运算符有:>(大于)、>=(大于等于)、<=(小于等于)、<>(不等于)、 NOT (非)、 or (或)等。
谓词 LIKE 只能与字符串联用,常常是 “ <列名> LIKE pattern” 的格式。特殊字符 “_” 和 “%” 作为通配符。
谓词 IN 表示指定的属性应与后面的集合(括号中的值集或某个查询子句的结果)中的某个值相匹配,实际上是一系列的 or (或)的缩写。谓词 NOT IN 表示指定的属性不与后面的集合中的某个值相匹配。
谓词 BETWEEN 是 “ 包含于 … 之中 ” 的意思。)
Select SNAME, SEX FROM STUDENTS
Where AGE < 23 AND BPLACE LIKE' 湖% '
或
Select SNAME, SEX FROM STUDENTS
Where AGE < 23 AND BPLACE IN ( ' 湖南 ' , ' 湖北 ' )
例 22 找出学生表中籍贯是空值的学生的姓名和性别。(在 SQL 中不能使用条件:<列名>= NULL 。在 SQL 中只有一个特殊的查询条件允许查询 NULL 值:)
Select SNAME, SEX FROM STUDENTS Where BPLACE IS NULL
多表操作
例 23 找出成绩为 95 分的学生的姓名。(子查询)
Select SNAME FROM STUDENTS
Where SNO =
(Select SNO FROM ENROLLS Where GRADE = 95)
例 24 找出成绩在 90 分以上的学生的姓名。
Select SNAME FROM STUDENTS
Where SNO IN
(Select SNO FROM ENROLLS Where GRADE > 90)
或
Select SNAME FROM STUDENTS
Where SNO = ANY
(Select SNO FROM ENROLLS Where GRADE > 90)
例 25 查询全部学生的学生名和所学课程号及成绩。(连接查询)
Select SNAME, CNO, GRADE FROM STUDENTS, ENROLLS
Where STUDENTS.SNO = ENROLLS.SNO
相关文章
sql自动化检查和分析工具 之soar和soar-web 安装和使用体验
这篇文章主要介绍了sql自动化检查和分析工具 之soar和soar-web 安装和使用体验,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-04-04
case when then else end语句的用法(附demo)
本文主要介绍了case when then else end语句的用法,主要介绍了两种格式,简单case函数和case搜索函数,具有一定的参考价值,感兴趣的可以了解一下2023-10-10
MyBatis MapperProvider MessageFormat拼接批量SQL语句执行报错的原因分析及解决办法
这篇文章主要介绍了MyBatis MapperProvider MessageFormat拼接批量SQL语句执行报错的原因分析及解决办法的相关资料,需要的朋友可以参考下2016-01-01


最新评论