SQL-笔记-2022-11-30

--给查询的字段给别名,也可以给表给别名

SELECT `studentno` AS 学号,`studentname` AS 学生姓名 FROM student AS S

 

-- 函数 CONCAT(a,b)

SELECT CONCAT('姓名= ',`studentname`) AS 新名字 FROM student

 

-- 去重
SELECT `studentno` FROM result
-- 发现有重复的名字出现,一个学生考了多门功课,其实只需要一个学生显示一次即可,去重
SELECT DISTINCT `studentno` FROM result

SELECT VERSION() -- 函数
SELECT 200*3-8+2 AS 计算结果 -- 表达式
SELECT @@auto_increment_increment -- 步长 变量
SELECT `studentno`,`studentresult`+5 AS 加分后的结果 FROM result -- 学生考试成绩加五分后的结果

数据库中的表达式:文本值,列,NULL,函数,计算表达式,系统变量 等等

SELECT 表达式 FROM 表

 

18课 WHERE 条件子句

检索数据中符合条件的值

运算符:尽量使用英文字母

and &&    a&&b a and b   逻辑与

or ||          a||b    a  or  b    逻辑或

not  !        not a   !a           逻辑非

-- =====================WHERE============================
SELECT `studentno`,`studentresult` FROM result
WHERE `studentresult`>=70 AND `studentresult`<=80

SELECT `studentno`,`studentresult` FROM result
WHERE `studentno`=1000

SELECT `studentno`,`studentresult` FROM result
WHERE NOT `studentno`=1000

 

--模糊查询  比较运算符

IS NULL           a IS NULL   如果操作符为null ,结果为真

IS NOT NULL a IS NOT NULL   如果操作符为NOT null ,结果为真

BETWEEN     a between b and c

like                  a like b        如果a 可以匹配为b   结合% (0到任意个字符) - 任意一个字符

in                    a in (a1,a2,a3,a4....)       如果a 在其中一个内则为真 

SELECT `studentno`,`studentname` FROM student -- 张姓后不管长度的所有名字
WHERE `studentname` LIKE '张%'

SELECT `studentno`,`studentname` FROM student -- 张姓后1个字的所有名字
WHERE `studentname` LIKE '张_'


SELECT `studentno`,`studentname` FROM student -- 张姓后2个字的所有名字
WHERE `studentname` LIKE '张__'

SELECT `studentno`,`studentname` FROM student -- 有名为伟的所有名字
WHERE `studentname` LIKE '%伟%'

SELECT `studentno`,`studentname` FROM student -- 有名为伟的所有名字
WHERE `studentno` IN (1000,1001)

 

posted @ 2022-11-30 14:30  Rui2022  阅读(19)  评论(0编辑  收藏  举报