ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022.8.31

2022-08-31 22:30:08  阅读:146  来源: 互联网

标签:studentname student -- 31 查询 studentno 2022.8 SELECT


-- 查询全部学生 select 字段 from 表
SELECT * FROM student

-- 查询指定字段
SELECT `studentno`,`studentname` FROM syudent

-- 别名,给结果起一个名字 AS 可以给字段起别名,也可以给表起别名
SELECT `studentno`AS 学号,`studentname`AS 学生姓名 FROM student AS s

-- 函数 concat(a,b)
SELECT CONCAT('姓名;',`studentname`)AS 新名字 FROM student

-- 查询一下有哪些同学参加了考试,成绩
SELECT * FROM result -- 查询全部的考试成绩
SELECT`studentno`FROM result -- 查询有哪些同学参加了考试
SELECT DISTINCT`studentno`FROM result -- 发现重复数据,去重

SELECT VERSION()-- 查询系统版本(函数)

SELECT 100*3-1 AS 计算结果 -- 用来计算(计算表达式)

SELECT @@auto_increment_increment-- 查询自增的步长 (变量)

-- 学员考试成绩+1
SELECT`studentno`,`studentresult`+1 AS'提分后'FROM result

-- ==================== where ======================

-- 查询考试成绩在95-100分之间
SELECT studentno,`studentresult`FROM result
WHERE studentresult>=95 AND studentresult<=100

-- and &&
SELECT studentno,`studentresult` FROM result
WHERE studentresult>=95 && studentresult<=100

-- 模糊查询(区间)
SELECT studentno,`studentresult`FROM result
WHERE studentresult BETWEEN 95 AND 100

-- 除了1000号学生之外的同学的成绩
SELECT studentno,`syudentresult`FROM result
WHERE studentno!=1000;

-- != not
SELECT studentno,`studentresult`FROM result
WHERE studentno =1000

-- ==================== 模糊查询 ======================
-- 查询姓刘的同学
-- like结合 %(代表0到任意一个字符) _(一个字符)
SELECT `studentno`,`studentname` FROM `student`
WHERE studentname LIKE'刘%'

-- 查询姓刘的同学,名字后面只有一个字的
SELECT`studentno`,`studentname`FROM `student`
WHERE studentname LIKE'刘_'
-- 查询姓刘的同学,名字后面只有一个字的
SELECT`studentno`,`studentname`FROM `student`
WHERE studentname LIKE'刘__'

-- 查询名字中间有嘉字的同学%嘉%
SELECT`studentno`,`studentname`FROM `student`
WHERE studentname LIKE'%嘉%'

-- ==================== in(具体的一个或者多个值) ======================

-- 查询 1001,1002,1003号学员
SELECT `studentno`,`studentname`FROM`student`
WHERE studentno IN (1001,1002,1003)
-- 查询在北京的学生
SELECT `studentno`,`studentname`FROM`student`
WHERE `address`IN('北京');

-- ==================== null ,not null ======================

-- 查询地址为空的学生null
SELECT `studentno`,`studentname`FROM`student`
WHERE address='' oraddress IS NULL

-- 查询有出生日期的同学 不为空
SELECT `studentni`,`studentname` FROM `student`
WHERE `borndate`IS NOT NULL

-- 查询没有出生日期的同学 为空
SELECT`studentno`,`studentname`FROM`student`
WHERE `borndate`IS NULL

-- =========联表查询 join===========

-- 查询参加了考试地同学(学号,姓名,科目编号,分数)
SELECT * FROM student
SELECT * FROM result

/*思路
1.分析需求,分析查询的字段来自那些表,(链接查询)
2.确定使用那连接查询? 七种
确定交叉点(这两个表中那个数据是相同的)
判断的条件;学生表的中studentno= 成绩表 studentno
*/

SELECT s.studentno,studentname,subjectno,studentresult
FROM student AS s
INNER JOIN result AS r
WHERE s.studentno = r.studentno

-- right join
SELECT s.studentno,studentname,subjectno,studentresult
FROM student s
RIGHT JOIN result r
ON s.studentno = r.studengtno

-- left join
SELECT s.studentno,studentname,subjectno,studentresult
FROM studengt s
lefe JOIN result r
ON s.studentno = r.studentno

-- 查询缺考的同学
SELECT s.studentno,studentname,subjectno,studentresult
FROM student s
LEFT JOIN result r
ON s.studentno = r.studentno
WHERE studentresult IS NULL

-- 思考题(查询了参加考试的同学信息;学号,学生姓名,科目名,分数)
/*思路
1.1.分析需求,分析查询的字段来自那些表,student,result,subject(链接查询)
2.确定使用那连接查询? 七种
确定交叉点(这两个表中那个数据是相同的)
判断的条件;学生表的中studentno= 成绩表 studentno

*/

SELECT s.studentno,studentname,subjectname,`studentresult`
FROM student s
RIGHT JOIN result r
ON r.studentno = s.studentno
INNER JOIN `subject`sub
ON r.subjectno = sub.subjectno

-- 我要查询那些数据select。。
-- 从那几个表中查from 表 XXX join 连接的表 on 交叉条件
-- 假设存在一种多张表查询,妈妈妈妈来,先查询两张表然后在慢慢增加

-- from a left join b
-- from a right ioin b

 

 

 

 


标签:studentname,student,--,31,查询,studentno,2022.8,SELECT
来源: https://www.cnblogs.com/liutongliaoliao/p/16644755.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有