dept_name,dept_attribute
Dept1 A
Dept1 B
Dept1 C
Dept1 D
Dept2 B
Dept2 C
Dept2 D
Dept3 A
Dept3 B
Dept3 C
Dept3 D
Dept3 E
我现在要查同时具有A,B,C,D属性的部门. 搜索结果应该是dept1,dept3
这个用sql语句怎么写,有没有什么简洁的写法呢
谢谢
SELECT dept_name FROM TB如果多加判断属性的个数,加到IN 和后面的4
WHERE dept_attribute IN('A','B','C','D')
GROUP BY dept_name
HAVING COUNT(dept_attribute)=4
SELECT dept_name FROM TB
WHERE dept_attribute IN('A','B','C','D','E')
GROUP BY dept_name
HAVING COUNT(dept_attribute)=5
----------------------------------------------------------------
-- Author :fredrickhu(小F,向高手学习)
-- Date :2014-12-11 09:22:30
-- Version:
-- Microsoft SQL Server 2012 - 11.0.2100.60 (Intel X86)
-- Feb 10 2012 19:13:17
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition: Core-based Licensing on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
--
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([dept_name] varchar(5),[dept_attribute] varchar(1))
insert [tb]
select 'Dept1','A' union all
select 'Dept1','B' union all
select 'Dept1','C' union all
select 'Dept1','D' union all
select 'Dept2','B' union all
select 'Dept2','C' union all
select 'Dept2','D' union all
select 'Dept3','A' union all
select 'Dept3','B' union all
select 'Dept3','C' union all
select 'Dept3','D' union all
select 'Dept3','E'
--------------开始查询--------------------------
SELECT dept_name FROM TB WHERE dept_attribute IN('A','B','C','D') GROUP BY dept_name HAVING COUNT(DISTINCT dept_attribute)=(SELECT COUNT(distinct dept_attribute) FROM TB WHERE dept_attribute IN('A','B','C','D'))
----------------结果----------------------------
/* dept_name
---------
Dept1
Dept3
(2 行受影响)
*/
在oracle数据库中使用SQL语句查询时,遇到了需要使用where in语句一次选择多个多个属性值的情况,第一反应是: select a,b from table where (a,b) in (10000,30); 但程序报错,虽然可以使用子查询语句的方式...
SELECT C.name as [字段名],T.name as [字段类型] ,convert(bit,C.IsNullable) as [可否为空] ,convert(bit,case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent...
说明:该视图针对当前数据库中的每个扩展属性返回一行。 具体返回结果集中每列的含义请参考MSDN文档。 示例代码如下: 例如我要查询表table1的所有列的列说明: select A.Value,B.Name, C.Name as TypeName,B....
如果要查询同一列满足两个条件 比如 ID 属性 1 a 1 b 2 c 3 d 要求查询属性同时是a 和 b的ID 查出来只有1 select id from 表名 where 属性=a or 属性=b group by id ...
文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储...
最全MySQL面试题和答案 ...2.innodb是支持事务的存储引擎,合于插入和更新操作比较多的应用,设计合理的话是行锁(最大区别就在锁的级别上),适合大数据,大并发。 数据表类型有哪些 ...
数据库系统概论前七章习题解析 第1章绪论 1.试述数据、数据库、数据库系统、数据库管理系统的概念。答: (l)数据(Data):描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。...
Oracle学习:Oracle基础语句、Oracle表查询关键字、Oracle常用函数、Oracle常用结构
1. SQL语言包括哪些类型? 数据定义DDL:Create Table,Alter Table,Drop Table, Create/Drop Index等 数据操纵DML:Select ,insert,update,delete, 数据控制DCL:grant,revoke 2. 内联接,外联接区别? 内连接是保证...
本章介绍C#语言的基础知识,希望具有C语言的读者能够基本掌握C#语言,并以此为基础,能够进一步学习用C#语言编写window应用程序和Web应用程序。当然仅靠一章的内容就完全掌握C#语言是不可能的,如需进一步学习C#语言...
如果能帮到大家一点,希望大家,点个赞关注一下,后期还会更新更多技术。 一、JPA概述 1.使用JPA持久化对象的步骤 创建 persistence.xml, 在这个文件中配置持久化单元 需要指定跟哪个数据库进行交互; 需要...
转载自: ... 软件测试面试题汇总 测试技术面试题 ...........................................................................................................
JAVA面试笔记Java基础面试1、HashMap源码?5、Set的实现?6、讲解线程execute?8、讲解Runable和Callnable的区别?9、使用泛型的好处?10、JDK动态代理和Cglib的区别?Spring面试题Spirng基础面试1、什么是Spring?...
完整sql语句较复杂,但是其基本语法格式可以归纳如下: select select_list from table_list [where search_conditions] [group by group_by_expression] [having search_conditions] [order by order_...
本篇介绍SpringDataJPA进一步的定制化查询,使用JPQL或者SQL进行查询、部分字段映射、分页等。本文尽量以简单的建模与代码进行展示操作,文章比较长,包含查询的方方面面。如果能耐心看完这篇文章,你应该能使用...
SQL语句实例 表操作 例 1 对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE TABLE STUDENTS (SNO NUMERIC (6, 0) NOT NULL SNAME CHAR (8) NOT NULL AGE NUMERIC(3,0) ...
Presto是一个开源的分布式SQL查询引擎,适用于实时交互式分析查询,支持海量的数据;主要是为了解决商业数据仓库的交互分析,和处理速度低下的问题。它支持标准的ANSI SQL,包括复杂查询、聚合(aggregation)、连接...
View是从一个或多个表中产生的虚表;Table是实表。 数据的查询可通过表或视图进行 视图的更新操作是有限制的 SQL的主要操作: 表的创建 数据查询 数据更新(INSERT、UPDATE、DELETE) SQL语句的书写: SQL语句实例 ...
查询中消除重复的行 where子句后面常跟的查询条件 下面是上述的例子 order by子句 聚集函数 group by子句 having ...基于派生表的查询首先在这申明,sqlserver是不区分大小写的。查询中消除重复的行
综合实例: SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY U.FUsersSort ASC) AS Row, U.*,D.FName AS DepartmentName,CD.FName AS DutyName,TB.FRoleIDs,TQ.FRoleNames FROM CY_Users U ...
如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。 在一个系统分析...
文章目录通用编辑器配置SQL编辑器配置SQL Editor主编辑器配置查询编辑器对象编辑器SQL执行器 菜单:file–&amp;amp;amp;amp;amp;amp;amp;gt;preferences 通用编辑器配置 SQL编辑器配置 SQL Editor主编辑器...
内容全面覆盖:从基础查询到高级分析,从数据库设计到查询优化,全面介绍 SQL 必备技巧; 基于最新标准:紧跟产业发展的最新趋势,解锁最前沿的 SQL 技能; 4 种主流数据库的语法实现:提供并解读 Oracle、MySQL、...
SQL优化 对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。任何在Order by语句的非索引项或者有计算表达式都将降低查询速度 应尽量避免在 where 子句中对字段进行 null ...
结构化查询语言(Structured Query Language,简称SQL语句)从单个函数的使用上来看,较为简单,但是当表与表嵌套、几个函数组合使用,即可实现强大的数据查询功能,能从数据库中快速便捷地获取需要的信息。 本文总结...
本篇介绍SpringDataJPA进一步的定制化查询,使用JPQL或者SQL进行查询、部分字段映射、分页等。本文尽量以简单的建模与代码进行展示操作,文章比较长,包含查询的方方面面。如果能耐心看完这篇文章,你应该能使用...
MySQL优化三大方向① 优化MySQL所在服务器内核...③ 对SQL语句以及表优化。MySQL参数优化1:MySQL 默认的最大连接数为 100,可以在 mysql 客户端使用以下命令查看mysql> show variables like 'max_connections';2:查看
PS:对数据库进行一些危险操作,一定要先备份 一.数据库简介 1. DBMS(DataBaseManagement ...还有一种是物理上的Schema,指的是数据库中的一个名字空间,它包含一组表、视图和存储过程等命名对象 MSSQLServer、...
大数据技术之_32_大数据面试题_01一、Hive 基本面试1、什么是 metastore2、metastore 安装方式有什么区别3、什么是 Managed Table 跟 External Table?4、什么时候使用 Managed Table 跟 External Table?...
SQLServer学习时期总结,如有不足,望指正 Java数据库编程 数据库对象 基础知识:数据库管理系统(DBMS DataBase Manage System) 1、数据库是一套完整的软件。 2、分为客户端和服务器端两部分。安装的时候,都同时...