当前位置:首页 » 编程语言 » 多对多查询sql语句

多对多查询sql语句

发布时间: 2022-05-17 10:04:52

Ⅰ 求一条多对多连表查询sql语句

selectt1.name,t1.comnum,t2.comadd
fromtable1ast1
leftjointable2ast2
ont2.name=t1.name

Ⅱ sql语句问题:多对多查询

SELECT [系列],[顾客]
FROM TABLENAME
GROUP BY [系列],[顾客]

Ⅲ 对多对,跨表查询,sql语句怎么写,急,在线等

最好把表结构提供一下。
1、以“表名一”为基准,将“表名多”中“字段”相同的行查出,“表名一”中有而“表名多”中不存在的就不显示:
select
要查询的字段
from
表名一,表名二
where
表名一.字段=表名多.字段
2、以“表名一”为基准,将“表名多”中“字段”相同的行查出,“表名一”中有的就都显示,“表名多”中没有的会显示为“NULL”
select
要查询的字段
from
表名一
left
outer
join
表名多
on
(
表名一.字段=表名多.字段)

Ⅳ sql多对多关系的两表如何联合查询出所有的结果

1、语句如下:

Select project.*, [contract].* from project

Left join contract_project on project.projectId = contract_project.projectId

Left join [contract] on contract_project.contractId = [contract].contractId

注:contract在Sql server中是关键字,因此使用了中括号。

2、使用Left join

Left join是以左表为准的。换句话说,左表(project)的记录将会全部表示出来,而右表(contract_project)只会显示符合搜索条件的记录

(例子中为: project.projectId = contract_project.projectId)。对于contract表来说,contract_project表是它的左表。

此例以两个left join 将三个表按条件联接在一起。

(4)多对多查询sql语句扩展阅读

连接通常可以在select语句的from子句或where子句中建立,其语法格式为:

selectcolunm_name1,colunm_name2

fromtable_name1

leftjointable_name2

ontable_name1.colunmname=table_name2.colunmname

其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接称为自连接, join_type 为连接类型,可以是left join 或者right join 或者inner join 。

on (join_condition)用来指连接条件,它由被连接表中的列和比较运算符、逻辑运算符等构成。

Ⅳ SQL 多对多查询语句

/*选择全部课程的学生列表:

select B.student,A.num_class

from

(
select count(*) as num_class from class

) A left outer join

(
select count(*) as num_class,student from cs
group by student

) B on A.num_class = B.num_class

/* 报名多过5门课程的学生列表

select A.student,B.num_class as num_class

from

(

select student from student

) A left outer join

(
select count(*) as num_class,student from cs
group by student

) B on A.student = B.student

where num_class >5

Ⅵ sql 多对多查询

select *
from
(select id,sum(money) as mm from a表 group by id) aaa,
(select id,sum(money) as nn from b表 group by id) bbb
where aaa.id=bbb.id and aaa.mm=bbb.nn;
-----------------------------
说明:
先用语句,得到aaa,bbb两个临时表,里面是(ID,钱的求和);
然后叠加一个查询,从表aaa,表bbb中,用条件,筛选出需要的记录(ID相等,钱求和相等);mm,nn是我为了字段查看方便,设置的两个临时字段名。
-----------------------------
如果你是用workbench,语句正确执行要写成一行。

Ⅶ sql语句多对多查询

select * from book a join (select cid,count(1) as [count] from category group by cid) b where a.id=b.cid

Ⅷ SQL 多对多查询

1、创建测试表,

create table test_task(taskID varchar2(20),taskName varchar2(200));

create table test_person(personID varchar2(20),personName varchar2(200));

create table test_task_person(taskID varchar2(20),personID varchar2(200));

Ⅸ SQL的一对多,多对一,一对一,多对多什么意思

1、一对多:比如说一个班级有很多学生,可是这个班级只有一个班主任。在这个班级中随便找一个人,就会知道他们的班主任是谁;知道了这个班主任就会知道有哪几个学生。这里班主任和学生的关系就是一对多。

2、多对一:比如说一个班级有很多学生,可是这个班级只有一个班主任。在这个班级中随便找一个人,就会知道他们的班主任是谁;知道了这个班主任就会知道有哪几个学生。这里学生和班主任的关系就是多对一。

3、一对一:比如说一个班级有很多学生,他们分别有不同的学号。一个学生对应一个学号,一个学号对应一个学生;通过学号能找到学生,通过学生也能得到学号,不会重复。这里学生和学号的关系就是一对一。

4、多对多:比如说一个班级有很多学生,他们有语文课、数学课、英语课等很多课。一门课有很多人上,一个人上很多门课。这里学生和课程的关系就是多对多。

Ⅹ sql 语句如何实现多对多的模糊查询

oracle
select table1.col1,table2.col2
form table1 join table2 on instr(table1.col2 , table2.col1) <> 0

instr(str1,str2) 返回字符串str2在str1中的位置

如果是其他DB,你找一下相关函数替换下就行了

热点内容
tmp文件怎么解压 发布:2024-05-07 09:59:49 浏览:937
安卓手机如何提升录歌音质 发布:2024-05-07 09:49:55 浏览:330
指法运算法 发布:2024-05-07 09:24:26 浏览:195
兜享花为什么服务器错误 发布:2024-05-07 09:12:55 浏览:126
西门子编程仿真软件 发布:2024-05-07 09:12:04 浏览:128
脚本举例 发布:2024-05-07 09:04:41 浏览:819
php经历 发布:2024-05-07 08:59:25 浏览:420
knd系统编程 发布:2024-05-07 08:55:38 浏览:219
大话2无限自动脚本 发布:2024-05-07 08:42:06 浏览:79
朋友圈视频压缩 发布:2024-05-07 08:33:01 浏览:872