一、SELECT(查)=> 单表查询
σπ×∞÷∪∩-∧∨≠'(复制粘贴使用)
ΠA1,A2,...,An(σcondition(R1∞R2...∞Rm))
π代表的就是SELECT
σ代表的就是WHERE
R1∞R2...∞Rm代表的就是FROM语句后面的库
不同:SELECT 是等值连接
关系代数里是自然连接(无重复属性)
(一)选择表中的若干列
1.getdate
getdate() <=> now(当前时间)
year(getdate()) <=> 当前年份
2.
若SELECT后写的是表达式,则无列名
像这样
(二)选择元组(行)
1.DISTINCT短语用法
若只是单纯的
SELECT Sno FROM SC;结果如下图所示
此时Sno,也就是学生的学号会重复,这样子的方法并不高效和简洁
所以我们得在Sno 的前面加一个 DISTINCT 短语,使用后就会变成这样
而DISTINCT的写法如下:(作用于所有目标列)
错误的写法 × : SELECT DISTINCT CNo,DISTINCT Grade FROM SC
正确的写法 √ : SELECT DISTINCT CNo,Grade FROM SC;
(三) 查满足条件的元组(WHERE语句的语法)
1.谓词
也就是BETWEEN ...(低值) AND.... (高值)
和 NOT BETWEEN .... AND....
2.确定集合
谓词: IN <值表>
NOT IN <值表>
下面是例子
3.字符串匹配
谓词:LIKE
NO LIKE
用途:通配符
通配符:①%(自分号):代表任意长度(长度为0)的字符串
eg:a % b,以a开头,b结尾的任意长度的字符串
②_(下划线):代表任意单个字符
eg:a_b:以a开头,以b结尾的长度为3的任意字符串(acb,afb之类的)
例子: