select from mytable where pet in (select pet from mytable group by pet having count(pet)>1)
获取同一pet数量大于1的pet并select出相关信息
select pet,count(pet) as per_count from mytable group by pet order by count(pet) desc limit 10
获取pet拥有量前十的pet和数量
首先俩个表要存在关联关系,例:表A中的ID列和表B中的ID列是一样的数据,且唯一
则:
select from A
left jion B on AID=BID
举个例子,不知道是不是你需要的
--创建数据库create table db(id int , code int)
--插入测试数据
insert db select 1,100
insert db select 2,100
insert db select 3,100
insert db select 4,200
--查询出code
select distinct code from db where id in(1,2,3)
select distinct code from db where id =1 or id =4
如果你需要查出表中所有含有多个不同ID的code(不包括一个的),试试下面的:
select distinct code from db group by code having(count(id))>1select from table1 where id in(select id from table2) 或者
select from table2 where id in(select id from table1)
select from 表 as a where arowid!=(select max(rowid) from 表 as b where aid=bid);
此为oracle中查找相同数据语句,其中里边的“表”指同一张表,where后的条件可以是很多相同的字段相等,即:aid=bid and aname=bname等等
查询2:找出在1998年11月1号之前有预定记录的水手编号。
查询3:找出红色船只的编号和名称。
查询4:找出预订了103号船只的水手的名字。
或
查询5:找出至少预订了一艘船只的水手的名字。
查询6:找出预订了红色船只的水手的名字。
查询7:找出Lubber预订的船只的颜色。
查询8:找出预订了一艘红色船只或者绿色船只的水手的名字。
查询9:找出同时预订了一艘红色船只和绿色船只的水手的名字。(交集)
查询10:找出年龄在20岁以上而且没有预定一艘红色船只的水手的sid。(差集)
查询11:找出所有预订了名为Interlake船只的水手的名字。
或
SELECT FROM 表名 WHERE stu_nianji like "2010%" and stu_banji like "信管%"
是这个意思吗?多个条件取交集用AND,取并集用OR,可以举一反三,祝你好运。
基础语句还是select from table
有两种做法:
1使用like+通配符做模糊查询
where col1 like('%' + w1 +'%') and and where col5 like('%' + w5 +'%')
当文本框为空时,因为通配符的存在,该列不会发生过滤这个写法一般用在存储过程中
2拼接语句
where 1=1 and
判断文本,如果为空跳过,不为空则追加sql
if(TextBox1Text!=""){sql+=" and col1="+TextBox1Text;}
因为有1=1存在,所以无论从哪个条件开始追加或者不加,都不会出语法错
以上就是关于sql如何取交集全部的内容,包括:sql如何取交集、sql如何查询两个表的交集、单表查询如何求交集等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)