MySQL学习笔记(5)DQL语言
2022/3/3 19:19:00
本文主要是介绍MySQL学习笔记(5)DQL语言,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
DQL(Data Query Language:数据查询语言)
- SELECT
举例:
-- 查询全部 SELECT 字段 FROM 表 SELECT * FROM `student` -- 查询指定字段 SELECT `studentno`,`studentname` FROM `student` -- 别名,字段或者表都可以 SELECT `studentno` AS 学号,`studentname` AS 学生姓名 FROM `student` -- 函数Concat(a,b) SELECT CONCAT('姓名:', `studentname`) AS 新名字 FROM student -- 查询 SELECT `studentno` FROM `student` -- 发现重复数据,去重,关键词DISTINCT SELECT DISTINCT `studentno` FROM `student` -- SELECT还可以计算表达式 SELECT 100*3-1 AS `计算结果` -- 查询版本号 SELECT VERSION()
- where条件语句(用于检索数据表中符合条件的记录)
举例:
-- 查询考试成绩在95-100之间的 SELECT Studentno,StudentResult FROM result WHERE StudentResult>=95 AND StudentResult<=100;
- 模糊查询(比较运算符)
举例:
-- 模糊查询 between and \ like \ in \ null -- 查询姓刘的同学的学号及姓名 -- like结合使用的通配符 : % (代表0到任意个字符) _ (一个字符) SELECT studentno,studentname FROM student WHERE studentname LIKE '刘%';
- 连接查询
操作符名称 | 描述 |
---|---|
INNER JOIN | 查询两个表中结果集中的交集 |
LEFT JOIN | 返回左表中所有的行,即使右表中没有匹配 (优先考虑、筛选左表中的信息) |
RIGHT JOIN | 返回右表中所有的行,即使左表中没有匹配 |
-- 查一下缺考的同学 SELECT s.`studentno`,`studentname`,`subjectno`,`studentresult` FROM `student` AS s LEFT JOIN `result` AS r ON s.`studentno`=r.`studentno` WHERE `studentresult` IS NULL -- 查询s.studentno,studentname,subjectname,StudentResult SELECT s.`studentno`,`studentname`,`subjectname`,`studentresult` FROM `student` AS s INNER JOIN `result` AS r ON s.`studentno` =r.`studentno` INNER JOIN `subject` AS sub ON sub.`subjectno` = r.`subjectno`
- 分页和排序
-- 查询 JAVA第一学年 课程成绩前10名并且分数大于80的学生信息(学号,姓名,课程名,分数) SELECT s.studentno,studentname,subjectname,StudentResult FROM student s INNER JOIN result r ON r.studentno = s.studentno INNER JOIN `subject` sub ON r.subjectno = sub.subjectno WHERE subjectname='JAVA第一学年' ORDER BY StudentResult DESC LIMIT 0,10
limit:(PageNo - 1)*PageSize , PageSize
其中,PageNo为页码,PageSize为单页面显示条数。
- 子查询和嵌套查询
理论上,子查询可以出现在查询语句的任意位置,但是在实际开发中,子查询经常出现在WHERE和FROM子句中。
-- *表示查询表中所有的列 -- -- 子查询经常出现在WHERE和FROM子句中 -- -- 查询薪资水平为高级的所有员工的编号、姓名、性别、年龄和工资-- SELECT *FROM t_employee WHERE salary >=(SELECT salary FROM t_slevel WHERE levl = 3) AND salary < (SELECT salary FROM t_slevel WHERE levl = 4)
-- 查询不存在年龄为33岁的员工的部门-- SELECT * FROM t_dept WHERE deptno !=(SELECT deptno FROM t_employee WHERE age = 33)
这篇关于MySQL学习笔记(5)DQL语言的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-02MySQL 3主集群搭建
- 2024-12-25如何部署MySQL集群资料:新手入门教程
- 2024-12-24MySQL集群部署资料:新手入门教程
- 2024-12-24MySQL集群资料详解:新手入门教程
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解