#查询所有学生信息
SELECT *FROM STUDENT;
#查询指定列
SELECT studentNo,studnetName FROM student;
#可以为表 列取别名
SELECT studentNo 学号,studnetName 姓名 FROM student;
SELECT studentNo 学号,studnetName 姓名 FROM student;
SELECT studentNo 学号,studnetName 姓名 FROM student ;
SELECT CONCAT( 姓名, 名字,电话) AS 新名字 FROM studnet;
-- 查看谁参加了考试
SELECT DISTINCT studntNo FROM result;
-- 查询了所有的学生参加考试的次数
-- DISTINCT去除重复项
-- all系统默认 有重复查询的值
#SELECT查询中可以出现表达式
SELECT @@auto_increment_incremnt
-- 查版本号
SELECT VERSION();
SELECT 1000*3-1 AS 计算结果;
-- SELECT 后面可以跟 表达式的需求
#学员考试集体提分1分
SELECT *FROM result;#查询成绩表
SELECT studnetNo,studentResult+1 as '提分后' FROM result;
-- 可以由一个或多个表达式组成
-- 常用 and OR
-- like 模糊查询
#满足条件的查询 where条件
SELECT studentNo, studentResult FROM result
WHERE studentResult>=95 and studentResult<=100;
-- 模糊查询
SELECT studentNo, studentName FROM studnet;
-- 查询性 李
-- like in null BETWEEN
-- 结合 通配符 (%0到任意数)( —_ 一个字符)后面可以加两个通配符 例如%%%% ____ 也可以%文%这样使用
WHERE studentName LIKE '李%';
WHERE studentName LIKE '李_';
WHERE studentName LIKE '%李%';
WHERE studentName LIKE '_李_';
SELECT studnetno,studnetName FROM student;
-- 一些特殊的符号需要转义\%\ \_
WHERE studnetno like '%:%%' ESCAPE ':';
-- 在多个值里面匹配一个值
SELECT studentNo, studentName FROM studnet;
WHERE studnetno IN(1000,10001,1002,1003);
SELECT studentNo, studentName FROM studnet;
WHERE address IN('北京','南京','苏州','扬州');
#null 空的意思
-- 必须写is null是空的
-- IS NOT NULL查找不是空的
-- 表名或字符串=''这样查询 空字符串不是null
SELECT *FROM studnet;
-- 连接查询可以连接多个不同表之间的数据
-- inner JOIN 内连接
-- OUTER JOIN 外连接
-- left JOIN 左外连接
-- right JOIN 右外连接
-- 自连接
-- 等值连接
-- 非等值连接
-- 左手边的行数*右手边的行数
-- 内连接 等同于等值连接
SELECT *FROM studnet;
SELECT *FROM result;
SELECT s.studentno,studntname,subjectno,studentresult
FROM student AS s
INNER JOIN result AS r
on r.studentno=s.studentno
-- 以左表为基表,匹配右表一一比对,匹配到没有的以null,填充
-- 左外连接
SELECT *FROM studnet;
SELECT *FROM result;
SELECT s.studentno,studntname,subjectno,studentresult
FROM student AS s
left JOIN result AS r
on r.studentno=s.studentno
-- 以右表为基表,匹配左表表一一比对,匹配到没有的以null,填充
-- 右外连接
SELECT *FROM studnet;
SELECT *FROM result;
SELECT s.studentno,studntname,subjectno,studentresult
FROM student AS s
right JOIN result AS r
on r.studentno=s.studentno