CTGU-2023春-MySQL数据库实验3_1-查询1-3

本文介绍了数据库查询中的内连接、外连接(左、右及全外连接)的概念和使用示例,以及如何进行模糊查询。同时,通过具体的SQL语句展示了如何利用内连接查询流通总库中数据库类书籍的信息,以及如何通过左外连接查询分类为4的用户的借阅信息,并使用子查询来查找与特定用户在同一单位的所有用户的借阅证号和姓名。
摘要由CSDN通过智能技术生成

1.内连接查询在流通总库的数据库类书的ISBN、书名、作者和出版社信息

 1)内连接

 合并具有同一列的两个以上的表的行, 结果集中不包含一个表与另一个表不匹配的行

select 字段列表
from 表a inner join 表b
on 关联条件
where 其他字句;

2)外连接

查询所有的数据时,就一定会用到外连接。

a)左外连接:查询满足条件的数据,并且把查询字段中左表的数据全部查询出来

左表 left join 右表 on 查询条件

b)右外连接(同上)

c)满外连接

left join union right join (MySQL不支持full join)

3)模糊查询like通配符"%"和" _"

  • %匹配0或多个字符
  • _匹配任意1个字符(必须有一个)

例:查询表中姓名中第二个字为“雨”的人员 (三部分:确定部分和其前后)

name like '_雨%'

题1解

select Books.ISBN, bname, author, press
from Books inner join BookInfo
on Books.ISBN = BookInfo
where bname like '数据库%' and batatus = '0';

##1.内连接 2.数据库类 固不可"=" 3.隐含:“在流通总库”##

 错因:"ambiguous" 模棱两可的  ISBN——>Books.ISBN或BookInfo.ISBN

2.左外连接查询分类为4的用户的借阅证号、姓名、单位、及其所借图书的编号、借阅日期,结果按照单位名称升序排列。

 题目分析:

  • 1.涉及Users,Loan两表 
  • 2.由预期输出可知全部将Users查询数据显示出来,即将Users作为左表

题2解

select Users.loanNo,lname,unitName,bookNo,borrowDate
from Users left join Loan 
on Users.loanNo=Loan,loanNo
where classNo='4'
order by unitName;

3.使用子查询查询与借阅证号为“S06102”的用户在同一单位的所有用户的借阅证号和姓名

子查询:“查询里面有查询”

1)比较运算符:=、>、<、>= 、<= 、!= 、<>

2) 用 ANY,SOME,ALL 修饰的比较运算符

3)使用 [NOT] IN 的子查询

  • (not) in : (不)在....范围内
  • = :精准匹配(一个值)

题目分析

  • 子查询:找出该用户所在单位
  • 外查询:借阅证号,姓名

题3解

select loanNo,lname
from Users
where unitName in(select unitName
                    from Users
                    where loanNo='S06102');

是的,我了解您的问题。MySQL是一种开源的关系型数据库管理系统,因其易用性和可靠性而备受欢迎。以下是一些关于MySQL数据库管理的常见问题和答案: 1. 如何创建一个MySQL数据库? 答:您可以使用MySQL命令行或者MySQL Workbench来创建一个新的数据库。在命令行中,您可以使用CREATE DATABASE语句来创建一个新的数据库。在MySQL Workbench中,您可以使用“Create a new Schema”向导来创建一个新的数据库。 2. 如何备份和恢复MySQL数据库? 答:您可以使用mysqldump命令来备份MySQL数据库,通过将备份文件导入到新的MySQL服务器中来恢复MySQL数据库。另外,您也可以使用MySQL Workbench的备份和恢复功能来备份和恢复MySQL数据库。 3. 如何优化MySQL数据库的性能? 答:您可以通过使用索引、优化查询、调整服务器参数和升级硬件等方式来优化MySQL数据库的性能。另外,您也可以使用MySQL Workbench的性能分析器来分析查询语句的性能,并查找潜在的性能问题。 4. 如何保护MySQL数据库的安全性? 答:您可以通过使用强密码、限制对MySQL服务器的访问、定期备份数据、更新MySQL服务器和应用程序等方式来保护MySQL数据库的安全性。另外,您也可以使用防火墙和安全软件来保护服务器免受网络攻击。 希望这些回答能够解决您的问题。如果您还有其他问题,请随时提出。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值