MySQL 数据查询.多表查询.内连接

一.多表连接查询:

  • 内连接:相当于查询A和B交集部分的数据
  • 外连接:

       左外连接:查询左表所有数据,以及两表相交的部分数据

       右外连接:查询右表所有数据,以及两表相交的部分数据

       自连接:当前表与自身的连接查询,必须使用表别名

 二.内连接

  内连接查询语法  select 字段列表 from 表1,表2 where 条件……;    或

                             select 字段列表 from 表1 [inner] join 表2  on 连接条件……;

三.简单实例

图书管理数据库有读者reader图书book借阅数据表 读者表reader有读者证号dzzh、姓名xm、性别xb、身份sf、电话号码dhhm字段 图书表book有条形码txm、书名sm、分类号flh,作者zz,出版社cbs,出版日期cbrq,售价sj,典藏类别dclb,在库zk,币种bz字段 借阅表borrow有借阅编号jyid、读者证号dzzh、条形码txm、借阅日期jyrq、还书日期hsrq五个字段。 当读者借阅图书时,在借阅数据表中添加一条记录,还书日期设置为NULL,图书的在库zk字段被设置为0. 当读者归还图书时,将其对应借阅记录的还书日期设置为当天的日期,并修改图书的在库zk字段为1.

问题: 1.根据读者(reader)和借阅(borrow)数据表,查询王颖珊的借阅记录,包括条形码txm、借阅日期jyrq、还书日期hsrq

2.根据图书(book)和借阅(borrow)数据表,查询李白全集被借阅的情况:包括读者证号dzzh、借阅日期jyrq、还书日期hsrq

3.根据读者(reader)、图书(book)和借阅(borrow)数据表查询没有被归还的借阅信息:包括读者证号dzzh、姓名xm、电话dhhm、条形码txm、书名sm、借阅日期jyrq

1.
select txm,jyrq,hrsq from borrow,reader where reader.dzzh=borrow.dzzh and reader.xm='王颖珊';
2.
select dzzh,jyrq,hsrq from borrow,book where borrow.txm=book.txm and book.sm='李白全集';
3.
select reader.dzzh,xm,dhhm,book.txm,sm,borrow.jyrq from reader,book,borrow
where reader.dzzh=borrow.dzzh and book.txm=borrow.txm and isnull(hsrq);

猜你喜欢

转载自blog.csdn.net/m0_62428181/article/details/127263314