-- 查询全部的学生 SELECT 字段 FROM 表SELECT*FROM student
-- 查询指定字段SELECT`StudentNo`,`StudengtName`FROM student
-- 别名,给结果起一个名字 AS 可以给字段起别名,也可以给表起别名SELECT`StudentNo`As 学号,`StudentName`As 学生姓名 FROM student As studengt01
--拼接字符串 函数 Concat(a,b)SELECT CONCAT(`姓名`,StudentName)As 新名字 FROM student
语法:SELECT 字段,...FROM 表
二、去重
SELECTDISTINCT`StudentNo`from result --发现重复数据,去重SELECT VERSION()--查询系统版本SELECT100*3-1AS 计算结果 --用来计算SELECT @@auto_increment increment --查询自增步长(变量)-- 学员考试成绩加一分查看SELECT`StudentBo`,`StudentResult`+1As'提分后'FROM result
三、where条件字句
逻辑运算符
-- 查询考试成绩在95~100分之间SELECT`StudentNo`,`StudentResout`FROM result
where StudentResout >=95AND StudentResout <=100-- 模糊查询区间SELECT`StudentNo`,`StudentResout`FROM result
where StudentResout BETWEEN98AND100SELECT`StudentNo`,`StudentResout`FROM result
where StudentNo !=1000
模糊查询:比较运算符
运算符
语法
描述
IS NULL
a is null
如果操作符为NULL,结果为真
IS NOT NULL
a is not null
如果操作符不为NULL,结果为真
BETWEEN
a between b and c
若a在b和c之间,则结果为真
Like
a Like b
SQL匹配,如果a匹配b,则结果为真
In
a in (a1,a2,…)
如果a在a1,或者a2…,其中的某一个值,则结果为真
-- 查询姓刘的同学-- like结合 %(代表0到任意个字符) _(一个字符)-- 注意 %是在Like中用-- 查询姓刘的同学SELECT`StudentNo`,`StudentName`FROM student
WHERE StudentNmae like'刘%'-- 查询姓刘的同学,名字后面只有一个字的SELECT`StudentNo`,`StudentName`FROM student
WHERE StudentNmae like'刘_'-- 查询姓刘的同学,名字后面只有二个字的SELECT`StudentNo`,`StudentName`FROM student
WHERE StudentNmae like'刘__'-- 查询名字中间有嘉字的同学 SELECT`StudentNo`,`StudentName`FROM student
WHERE StudentNmae like'%嘉%'-- ==========in===============-- 查询 1001,1002,1004号的学员SELECT`StudentNo`,`StudentName`FROM student
WHERE StudentNo IN(1001,1002,1003)-- 查询在北京的学生SELECT`StudentNo`,`StudentName`FROM student
WHERE`Address`IN('安徽')-- 必须精确查询-- 查询地址为空的学生 nullSELECT`StudentNo`,`StudentName`FROM student
WHERE address =''OR address ISNULL
四、联表查询
SELECT s.studentNo,studentName,SubjectNo,StudentResult
FROM student AS s
INNERJOIN result AS r
WHERE s.studentNo = r.studentNo
五、分页和排序
1、排序
-- 排序: 升序 ASC 降序 DESC-- ORDER BY 字段 排序方式SELECT s.studentNo,studentName,SubjectNo,StudentResult
FROM student AS s
INNERJOIN result AS r
WHERE s.studentNo = r.studentNo
ORDERBY StudentResult ASC
2、分页
-- 分页-- 语法: 起始值,页面的大小-- LIMIT 0,5 从第一个数据开始,共显示5个数据-- LIMIT1,6 从第二个数据开始,共显示6个数据SELECT s.studentNo,studentName,SubjectNo,StudentResult
FROM student AS s
INNERJOIN result AS r
WHERE s.studentNo = r.studentNo
ORDERBY StudentResult ASCLIMIT1,5