(Data QueryLANGUAGE:数据查询语言)
数据库中最核心的语言,最重要的语句
select 完整的语法
select语法
sqlSELECT [ALL | DISTINCT]
{*l table.* l [table,field1[as alias1][,table.field2[as alias2]][,...]]}
FROM table_name [as table_alias]
[left | right | inner join table_name2] --联合查询
[WHERE ...]--指定结果需满足的条件
[GROUP BY ...]-- 指定结果按照哪几个字段来分组
[HAVING] -- 过滤分组的记录必须满足的次要条件
[ORDER BY ...]--指定查询记录按一个或多个条件排序
[LIMIT {[offset,]row_count l row_countOFFSET offset]];--指定查询的记录从哪条至哪条
sql-- 查询全部的学生 select 字段 from 表
SELECT * FROM student
-- 查询指定字段
SELECT `studentno`,`studentname` FROM student
-- 别名,给结果起一个名字 AS
SELECT `studentno` AS 学号,`studentname`
AS 学生姓名 FROM student -- 表也可以加AS 给表起一个别名
-- 函数 concat(a,b)
SELECT CONCAT('姓名:',studentname) AS 新名字 FROM student
语法:selectzi 字段 from 表
有的时候表的名字不容易看出来 所以起一个别名好看出来AS 字段名 as 别名 表名 as 别名
去重复
sql-- 查询一下有哪些同学参加了考试
SELECT * FROM result -- 查询全部的考试成绩
SELECT `studentno` FROM result
-- 去重复
SELECT DISTINCT `studentno` FROM result
SELECT VERSION() -- 查询系统版本(函数)
SELECT 100*3-1 AS 计算结果 -- 用来计算(表达式)
SELECT @@auto_increment_increment -- 查询自增的步长(变量)
作用:检索数据中符合条件
的值
逻辑运算符
运算符 | 语法 | 描述 |
---|---|---|
and && | a and b a&&b | 逻辑与,两个都为真,结果为真 |
or || | a or b a||b | 逻辑或 |
not ! | not a !a | 逻辑非,取反 |
模糊查询:比较运算符
运算符 | 语法 | 描述 |
---|---|---|
IS NULL | a is null | 如果操作符为null,结果为真 |
IS NOT NULL | a is not null | 如果操作符为not null,结果为真 |
BETWEEN | a between b and c | 若a在b和c之前,结果为真 |
Like | a like b | SQL匹配,如果a匹配b,则结果为真 |
in | a in(a1,a2,a3....) | 假设a在a1,a2,a3...其中的某一个,结果为真 |
sql-- 模糊查询
-- like结合 %(代表0到人一个字符) _(代表一个字符)
-- in(具体的一个值或者多个值)
-- 联表查询 join
-- join(连接的表) on(判断的条件) 连接查询
-- where 等值查询
SELECT s.studentno,studentname,subjectno,studentresult
FROM student AS s
INNER JOIN result AS r
WHERE s.studentno = r.studentno
操作 | 描述 |
---|---|
inner join | 如果表中至少又一个匹配吗,就返回行 |
left join | 会从左表中返回所有的值,即使右表中没有匹配 |
right join | 会从右表中返回所有的值,即使左表中没有匹配 |
自连接
自己跟自己连接,核心:一张表拆分为两张一样的表
分页
sql-- 分页 limit 和排序 order by
-- 排序:升序ASC,降序DESC
-- limit 0,5 从第1个开始 每页五个
-- 1,5 从第二个开始 每页五个
-- 第一页 limit0,5
-- 第二页 limit5,5
-- 第n页 limit(n-1)*pageSize,pageSize
本文作者:松轩(^U^)
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!