数据库学习- 查询数据 (多条件)作业示例【带源码】

简介: MySQL数据库 “查询数据 (多条件)” 习题示例,包含源码,能建立起对于查询数据 (多条件)的基本概念

 目录

1.查询教师表中T2到T9之间工资大于2000并且有岗位津贴的教师所有字段数据

2.查询教师表中教师姓名不以字母“A”开头的教师所有字段数据,用工资排序,去前三条

3.查询教师表中工资等于2000或者岗位津贴大于等于1000的教师所有字段数据

4.查询教师表中教师姓名以字母“d”开头并且含有”a”字母的教师号、教师姓名字段数据

5.查询教师表中教师姓名不以字符“e”开头的并且没有岗位津贴的教师号、教师姓名、工资、岗位津贴字段数据,用工资排序

6.查询课程表中带字母”L”的并且课时数大于等于50的课程名称、课时数字段数据

7.查询课程表中课程号在C5到C7之间或者没有课时数的所有字段数据

8.查询课程表中课时数不等于45并且课程名以“sh”结尾的课程名称、课时数字段数据

9.查询课程表中课程号不在C3、C5、C6中或者课时数等于45的所有字段数据,用课时数排序

10.查询授课表中教室在Y栋2楼的所有课程号、教师号、教室号字段数据, 用周数排序,取前两条

11.查询授课表中序号在2到9之间或者周数为15的序号、教室号、周数字段数据

12.查询授课表中教师号在T2到T9之间并且教室在J栋的教师号、教室号字段数据, 用周数排序

13.查询授课表中周数大于14或者课程号在C3、C5、C6中的所有字段数据

14.查询授课表中周数不为空并且周数大于等于50的课程号、教室号、周数字段数据

15.查询授课表中教室在一楼或者教室在三楼的所有字段数据, 用周数排序


1.查询教师表中T2到T9之间工资大于2000并且有岗位津贴的教师所有字段数据


select * from teacher where no between "T2" and "T9"

   -> and sal>2000 and comm is not null;

image.gif编辑

2.查询教师表中教师姓名不以字母“A”开头的教师所有字段数据,用工资排序,去前三条


select * from teacher where name not like "a%" order by sal limit 3,10;

image.gif编辑


3.查询教师表中工资等于2000或者岗位津贴大于等于1000的教师所有字段数据

select * from teacher where sal=2000 or comm>1000;

image.gif编辑


4.查询教师表中教师姓名以字母“d”开头并且含有”a”字母的教师号、教师姓名字段数据

select * from teacher where name like "d%a%";

image.gif编辑


5.查询教师表中教师姓名不以字符“e”开头的并且没有岗位津贴的教师号、教师姓名、工资、岗位津贴字段数据,用工资排序

select no,name,sal,comm from teacher where name not like "e%"

   -> and comm is null order by sal;

image.gif编辑


6.查询课程表中带字母”L”的并且课时数大于等于50的课程名称、课时数字段数据

select name,class_hours from course where name like "%l%"

   -> and class_hours>=50;

image.gif编辑


7.查询课程表中课程号在C5到C7之间或者没有课时数的所有字段数据

select * from course where no between "C5" and "C7"

   -> or class_hours is null;

image.gif编辑


8.查询课程表中课时数不等于45并且课程名以“sh”结尾的课程名称、课时数字段数据

      select * from course where class_hours !=45

   -> and name like "%sh";

image.gif编辑


9.查询课程表中课程号不在C3、C5、C6中或者课时数等于45的所有字段数据,用课时数排序

select * from course where no not between "C3" and "C5"

   -> or class_hours=45 order by class_hours;

image.gif编辑


10.查询授课表中教室在Y栋2楼的所有课程号、教师号、教室号字段数据, 用周数排序,取前两条

select course_no,teacher_no,class_num from schoolteaching where class_num like "Y2%"

   -> order by week limit 2;

image.gif编辑


11.查询授课表中序号在2到9之间或者周数为15的序号、教室号、周数字段数据

select id,week,class_num from schoolteaching where id between "2" and "9"

   -> or week=15;

image.gif编辑


12.查询授课表中教师号在T2到T9之间并且教室在J栋的教师号、教室号字段数据, 用周数排序

select teacher_no,class_num from schoolteaching where teacher_no between "T2" and "T9"

   -> and class_num like "j%" order by week;

image.gif编辑


13.查询授课表中周数大于14或者课程号在C3、C5、C6中的所有字段数据

select * from schoolteaching where course_no in("C3","C5","C6")

   -> or week>14;

image.gif编辑


14.查询授课表中周数不为空并且周数大于等于50的课程号、教室号、周数字段数据

select course_no,week,class_num from schoolteaching where week is not null

   -> and week>=50;

image.gif编辑


15.查询授课表中教室在一楼或者教室在三楼的所有字段数据, 用周数排序

select * from schoolteaching where class_num like "_1%"

   -> or class_num like "_3%" order by week asc;

image.gif


内容总结


多条件查询首先要看清是“并且”还是“或者”这是第一个基本点,然后就是条件的先后顺序,其实条件的先后没有什么要求,因为“并且”还是“或者”他们的条件之间都是并列关系,而不是包含,所有无论那个条件先后并不会改变他的最终结果。但是,我们一般都习惯先约束题目中先给定的条件,这样可以让自己更有逻辑性,当然,也要结合题目来看,如果你后一个条件更方便,那么就用那个,总之,哪个可以提供效率就用哪个。

相关文章
|
6天前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
32 15
|
22天前
|
存储 缓存 网络协议
数据库执行查询请求的过程?
客户端发起TCP连接请求,服务端通过连接器验证主机信息、用户名及密码,验证通过后创建专用进程处理交互。服务端进程缓存以减少创建和销毁线程的开销。后续步骤包括缓存查询(8.0版后移除)、语法解析、查询优化及存储引擎调用,最终返回查询结果。
27 6
|
20天前
|
SQL JavaScript 程序员
数据库LIKE查询屡试不爽?揭秘大多数人都忽视的秘密操作符!
本文分析了因数据库中的不可见空白字符导致的数据查询问题,探讨了问题的成因与特性,并提出了使用 SQL 语句修复问题的有效方案。同时,总结了避免类似问题的经验和注意事项。
28 0
|
1月前
|
存储 缓存 固态存储
怎么让数据库查询更快
【10月更文挑战第28天】
38 2
|
1月前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
27天前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
3天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
13 3
|
3天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
19 3
|
3天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
22 2
|
17天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
117 15