1.根据两个表达关系,搜索两个表。
select * from artist,painting where artist.a_id = painting.a_id;
2.另一种方法,用inner join代替逗号,where变成on。
select * from artist inner join painting on artist.a_id = painting.a_id;
3.如果两个表达字段a_id名字相同,可以用using达到相同的效果。
select * from artist inner join painting using(a_id);
这样查询出的结果只返回一个a_id。
4.通常是使用on或using来制定如何连接表,使用where限制选择已连接的行。例如:
select * from artist inner join painting on artist.a_id = painting.a_id where painting.state='北京';
5.再添加一张表,实现更复杂的多表查询。
select artist.name,painting.title,states.name,painting.price
from artist inner join painting inner join states
on artist.a_id=painting.a_id and painting.state=states.abbrev;
6.哪些是梵高的作品?可以这样查询。
select painting.title
from artist inner join painting on artist.a_id=painting.a_id
where artist.name='梵高';
7.蒙娜丽莎是谁画的?可以这样查。
select artist.name
from artist inner join painting on artist.a_id=painting.a_id
where painting.title = '蒙娜丽莎';
8.你在北京或台湾买了那些画?
select distinct artist.name
from artist inner join painting on artist.a_id=painting.a_id
where painting.state in('台湾','北京');
9.这里的distinct是不同的意思,就是说每个画家的名字你只想显示一次。
你甚至可以产生表达摘要,比如,你想知道,每个画家各有多少作品。
select artist.name,count(*) as '画的数量'
from artist inner join painting on artist.a_id=painting.a_id
group by artist.name;
10.你可以显示每个画家花费了多少钱,包括综合和每幅作品的平均花费。
select artist.name,
count(*) as '画的数量',
sum(painting.price) as 'total price',
avg(painting.price) as 'average price'
from artist inner join painting on artist.a_id=painting.a_id
group by artist.name;
11.
'select qg_singlepage.qg_id,qg_name,qg_filename,qg_display,qg_location,qg_show from ' .
'qg_singlepage inner join qg_termianl using(qg_uid) where ' .
'qg_termianl.qg_name like \'%'.$like.'%\' and qg_singlepage.qg_uid like \'%'.$_GET['id'].'%\' ' .
'limit '.$Page->firstRow.','.$Page->listRows limit 0,2;
分享到:
相关推荐
SQL多表操作,对数据库数据进行多表维护。
在数据库管理领域,多表操作是一项复杂而关键的技术,它涉及到如何在多个数据表之间进行高效、准确的数据处理。触发器作为SQL语言中的一种高级功能,能够在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时自动...
在多表操作中,Spring的事务管理功能尤为重要,通过`@Transactional`注解,可以声明式地控制事务的边界,确保多表操作的原子性。同时,Spring的JdbcTemplate或MyBatis等工具也可以用来辅助数据访问,简化SQL的编写和...
本文将深入探讨“用户模块及角色模块的单表和多表操作”,并结合源码和工具的使用来阐述相关知识点。 首先,用户模块通常包括用户信息表,它存储了用户的唯一标识(如用户名)、密码、电子邮件、手机号码等基本信息...
对于多表操作,可能需要使用JOIN语句将多个表连接起来。 3. **增**:添加新记录通常涉及到`CRecordset`的`AddNew`和`Update`方法。`AddNew`会初始化所有字段为NULL或默认值,然后你可以设置需要的字段值,最后调用`...
本篇文章将深入讲解如何在Core Data中进行多表操作,以及如何创建和管理不同表之间的联系。 首先,Core Data并不是一个数据库,而是一个对象图管理系统,它基于SQLite数据库,但提供了更高级别的抽象。在Core Data...
SQLite支持多种数据库操作,包括创建、查询、更新和删除等,尤其在处理多表操作时,能够帮助开发者实现复杂的数据关联和业务逻辑。本源码示例专注于Android数据库SQLite的多表操作,适用于那些希望深入理解并实践...
在VF中,多表操作是常见的数据库操作之一,它涉及到如何在多个表格之间进行数据的联合、关联和查询。这篇文档"vf.rar"中的内容很可能是关于VF在处理多表操作时的一些技巧和命令的详细讲解。 在VF中,进行多表操作的...
本文将深入探讨如何在Oracle存储过程中使用游标进行多表操作,具体通过一个示例来展示这一过程。 ### 标题与描述分析 标题:“oracle存储过程使用游标对多表操作例子”直接指出了文章的主题是关于在Oracle环境下,...
试验五索引的建立及多表操作 索引文件是数据库管理系统中的一种重要组件,它可以提高数据的查询效率和检索速度。在Visual FoxPro中,索引文件可以根据不同的字段类型和排序方式来建立,今天我们将通过实验五索引的...
IF EXISTS(SELECT 1 FROM ProductList (nolock) WHERE ProductID=@ProductID)
《第5章 数据排序、检索、统计和多表操作》主要涵盖了在数据库管理中至关重要的几个方面,包括数据的分类排序、索引排序、数据检索、数据统计以及多个表的操作。这些内容对于理解和高效处理数据库至关重要。 5.1 ...
该程序代码主要实现了基于VC++的数据库多表操作功能。
MySQL多表操作 思维导图
多表操作语句.sql
MySQL多表操作.xmind
6. **事务管理**:由于多对多关系涉及到两个表的更新,因此通常需要在事务中进行操作。确保在操作前后正确地开启和提交事务,以保证数据的一致性。 7. **性能优化**:在处理大量关联数据时,要注意懒加载(Lazy ...
vf排序索引统计多表操作PPT教案学习.pptx
第5章数据排序查询统计和多表操作.pptx
第5章数据排序查询统计和多表操作.ppt