2016 07 21

数据库的多表联合查询——外联结

这是我所创建的两张表。
2016 07 21_第1张图片

首先,外联结的讲解。

外左联结
Select A.Name from A Left JOIN B ON A.id = B.id,典型的外左联结,这样查询得到的结果将会是保留所有A表中联结字段的记录,若无与其相对应的B表中的字段记录则留空,结果如下:

Name Hobby
Tim Football
Jimmy Basketball,Tennis
Tom Soccer

所以从上面结果看出,因为A表中的John记录的ID没有在B表中有对应ID,因此为空,但Name栏仍有John记录。
外右联结
如果把上面查询改成外右联结:Select A.Name from A Right JOIN B ON A.id = B.id,则结果将会是:
Name Hobby
Tim Football
Jimmy Basketball
Jimmy Tennis
Tom Soccer

下面是我的实现。

查询高林最近一次的入住记录并且要求输出他的基本信息如姓名,电话,身份证号,房间号。
2016 07 21_第2张图片
语句为
select user.user_name,user.user_id_card,user.user_telephone,manage.room_number from user right join manage on user.user_id=manage.user_number where user.user_name='高林' order by check_in_date desc limit 1;

注意:最近一次的意思就是把住店时间降序排序并且选择第一个。

你可能感兴趣的:(php暑假班所学,数据库,MySQL)