数据库先系统与原理第三章笔记:数据库SQL查询语言
SQL概述
SQL发展
SQL特点
SQL查询基本概念
单表查询
投影查询
1.查询指定列:
SELECT 列名1,列名2,列名3,.....FROM Table_Name; #查询全部列:
SELECT * FROM Table_Name; #查询某一张表的全部列
SELECT Table_Name_A.*,列名1,列名2,列名3,.....FROM Table_Name_A,Table_Name_B;
2.消除指定元组:
SELECT DISTINCT 列名 FROM Table_Name;
选择查询
比较运算:>,>=.<,<=,=,<>(或者!=)
范围查询:BETWEEN....AND
SELECT studentNO,courseNO,score from score
where score BETWEEN 80 AND 90;
集合查询:IN
SELECT studentNO,courseNO,score from score
where courseNo IN('','002,'005');
空值查询:IS NULL
SELECT * from Student where studentNO IS NULL;
字符匹配查询:LIKE ‘%some char%’,LIKE ‘_some char_’
下划线_代表匹配一个字符:
SELECT * from Student where studentName LIKE ‘%some char%’;
百分号%代表匹配多个字符:
SELECT * from Student where studentName LIKE ‘_some char_’;
ESCAPE '\'表示\为换码字符,这样紧跟在\符号后面的_就不是通配符了,而是普通用户要查询的符号
SELECT * from Student where studentName LIKE ‘_some char\_’ ESCAPE '\';
逻辑查询:AND ,OR ,NOT
SELECT * FROM student where studentName=‘mikey’ AND studentNo=2018;
SELECT * FROM student where studentName=‘mikey’ or studentName=‘LEO' ;
SELECT * FROM student where studentName!=‘mikey’ ;
排序运算
语法:ORDER BY <表达式1>[ASC|DESC],<表达式1>[ASC|DESC],<表达式1>[ASC|DESC].............
ASC:升序(省缺)
DESC:降序
表达式1如果不能判断排序,则推到表达式2
SELECT * FROM STUDENT GROUP BY studentNo;
SELECT * FROM STUDENT GROUP BY studentNo DESC;
查询表
SELECT studentNo,studentName,birthday from(SELECT * from Student Where sex='女') AS a where year(birthday)=1999;
聚合查询
count([DISTINCT|ALL] { *|<列名>});统计关系的元组(记录)个数或者一列中值的个数
sum([DISTINCT|ALL] {<列名>});统计一列中值的总和(此列必须为数值类型)
avg([DISTINCT|ALL] {<列名>});统计一列中值的平均值(此列必须为数值类型)
max([DISTINCT|ALL] {<列名>});统计一列中值的最大值
min([DISTINCT|ALL] {<列名>});统计一列中值的最小值
getdate():获取当前日期时间
year(日期):获取当前日期年份
连接查询
等值与非等值连接
WHERE [表1.]<属性名1><比较运算符>[表2.]<属性名2>
[<逻辑运算符>]
[表3.]<属性名3><比较运算符>[表4.]<属性名4>
比较运算符:>,>=.<,<=,=,<>(或者!=)
WHERE 子句:作用于整个查询对象,对元组过滤
HAVING 子句:仅作用于分组,对分组进行过滤
自表连接
自己对自己连接:
where b.courseNo=123 and b.courseNo=125;
内连接:
只是检索表和表之间符合连接条件的记录
外连接
定义:在实际应用中,往往需要将不满足连接条件的元组也检索出来,只是在相应的位置用空值代替;
左外连接:
检索左表的全部记录及右表符合连接条件的记录
左外连接的连接结果中包含左关系中的所有元组,对于左关系中没有连接上的元组,其右关系中的相应属性用空值代替
右外连接:
检索右表的全部记录及左表符合连接条件的记录(左外连接的逆向)
右外连接的连接结果中包含右关系中的所有元组,对于右关系中没有连接上的元组,其左关系中的相应属性用空值代替
全外连接:
全外连接的连接结果中包含左右关系中的所有元组,对于左关系中没有连接上的元组,其右关系中的相应属性用空值代替,对于右关系中没有连接上的元组,其左关系中的相应属性用空值代
嵌套子查询
使用in的子查询
使用比较运算符的子查询
使用存在量词EXISTS的子查询
复杂子查询实例
集合运算
SQL查询一般格式
数据库先系统与原理第三章笔记:数据库SQL查询语言的更多相关文章
- 第三章基本的SQl查询语言
---恢复内容开始--- ---恢复内容结束---
- 《APUE》第三章笔记(3)
文件共享 UNIX系统支持在不同进程中共享打开的文件,首先先用一幅apue的图来介绍一下内核用于I/O文件的数据结构: 如图所见,一个进程都会有一个记录项,记录项中包含有一张打开文件描述符表,每个描述 ...
- 《APUE》第三章笔记(2)
read函数 调用read函数从打开的文件中读数据. #include <unistd.h> ssize_t read(int filedes, void *buf, size_t nby ...
- 《APUE》第三章笔记(1)
以下内容是我看<APUE>第二版第三章的笔记,有错还希望指出来,谢谢. unbuffered I/O,跟buffered I/O相对,buffered I/O就是 ISO C标准下的标准输 ...
- HBase in Action前三章笔记
近期接触HBase,看了HBase In Action的英文版.開始认为还行,做了些笔记.可是兴许看下去,越来越感觉到实战这本书比較偏使用上的细节,对于HBase的具体设计涉及得很少.把前三章的一些笔 ...
- 【转】《APUE》第三章笔记(4)及习题3-2
原文网址:http://www.cnblogs.com/fusae-blog/p/4256794.html APUE第三章的最后面给出的函数,现在还用不着,所以,先留个名字,待到时候用着了再补上好了. ...
- 《APUE》第三章笔记(4)及习题3-2
APUE第三章的最后面给出的函数,现在还用不着,所以,先留个名字,待到时候用着了再补上好了. dup和dup2函数:用来复制文件描述符的 sync函数,fsync函数和fdatasync函数:大致的功 ...
- 《HALCON数字图像处理》第三章笔记
目录 第三章 HALCON图像处理基础 HALCON控制语句 HALCON算子 HALCON图像处理入门 HALCON图像读取 HALCON图像显示 图形窗口 图像显示 显示文字 HALCON图像转换 ...
- MongDB篇,第三章:数据库知识3
MongDB 数据库知识3 修改器 $inc 对某个域的值进行加减修改 $mul 对某个域的值进行乘法修改 $min 如果筛选的文档指定的值小于min则不修改,如果大于min 给定的值则修改为m ...
随机推荐
- 题解【洛谷P2279】[HNOI2003]消防局的设立
题目描述 2020年,人类在火星上建立了一个庞大的基地群,总共有\(n\)个基地.起初为了节约材料,人类只修建了\(n-1\)条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成 ...
- 【资源分享】Half-Life(半条命)中英版
*----------------------------------------------[下载区]----------------------------------------------* ...
- 查询数据操作:limit
1.作用: 在查看数据时用于限制获得的记录数量,一般放在最后. 2.语法: limit offset,row_count; 解析: offset:偏移量,索引值默认从0开始,可以省略 row_coun ...
- HTML5学习(7)多媒体元素
视频元素video <video src="./media/xxx.mp4" controls autoplay muted loop></video> 音 ...
- kali Linux 2020.1最新安装教程,亲身尝试,绝对能帮你安装好!不是root、没有桌面、中文乱码、下载太慢、ssh链接等问题!
既然已经开始研究kali Linux,小编就认为在下已经有了一定的基础.当然小编也是个小白用户.本人用的是Vmware虚拟机,这里只说一点,内存我选择的是4g因为这个包含桌面,所以稍微大一点.Linx ...
- LoadRunner通过webservice协议调用WSDL接口时,返回值不正确
有可能是某些传参空的值导致的. 解决办法:注释掉空值传参.或者将其值转变为true ”ProductIDSpecified=true“,
- Nginx作为静态WEB服务
1.静态资源类型 Nginx作为静态资源Web服务器部署配置, 传输非常的高效, 常常用于静态资源处理, 请求, 动静分离 非服务器动态运行生成的文件属于静态资源 类型 种类 浏览器端渲染 HTML. ...
- python中字符串的四种表达方式
今天在学习python的基础的内容,学习在python中如何操作字符串,在此记录下. 主要是python中字符串的几种表达,表示方式. python的几种表达方式 1 使用单引号扩起来字符串 > ...
- IDEA部署项目,并结合Shell脚本运行Java程序
一.概述 在实际开发中,我们写好的代码,往往打成war包或jar包,通过winscp或其他软件将其上传至服务器,然而这样非常大的一个弊端就是不利于开发,为什么这么说呢?假如我们刚刚将springboo ...
- C语言:假定输入的字符串只包含字母和*号,fun函数:除了尾部的*号以外,将字符的其他*号进行全部删除,形参p已经指向字符串中最后一个字母。-利用折半查找整数m在有序数组中的位置,若找到,返回下标值,否则返回-1。
//假定输入的字符串只包含字母和*号,fun函数:除了尾部的*号以外,将字符的其他*号进行全部删除,形参p已经指向字符串中最后一个字母. #include <stdio.h> void f ...