正文

Transact-SQL数据库基本操作(2)2008-08-09 19:39:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/xman/37451.html

分享到:

五.查询数据记录(query analysis) 1. 查询记录数和指定列上的取值数 /*没有指定字段,将查询符合条件的记录条数(查询部门表中的部门记录总数)*/ select count(*) from DEPARTMENT; /*查询部门表中PARENT_DEPT_ID字段上的取值数: PARENT_DEPT_ID非空,包括重复值*/ select count(PARENT_DEPT_ID) from DEPARTMENT; /*查询部门表中PARENT_DEPT_ID字段上的取值数(上级部门总数): PARENT_DEPT_ID非空,不包括重复值*/ select count(distinct PARENT_DEPT_ID) from DEPARTMENT; /*查询部门表中上级部门号为8的记录中 DEPT_ID字段上的取值数(8号部门的子部门数)*/ select count(DEPT_ID) from DEPARTMENT where PARENT_DEPT_ID=8; 2.查询记录或指定列上的取值 /*查询表USER_INFO中的所有记录*/ select * from USER_INFO /*查询表DEPARTMET中的所有记录PARENT_DEPT_ID字段上的取值: 包括NULL和重复值*/ select  PARENT_DEPT_ID  from DEPARTMENT; /*查询表DEPARTMET中的所有记录PARENT_DEPT_ID字段上的取值: 包括NULL,不包括重复值*/ select  distinct PARENT_DEPT_ID  from DEPARTMENT; /*查询表DEPARTMET中的所有记录PARENT_DEPT_ID字段上的取值: 不包括NULL和重复值*/ select  distinct PARENT_DEPT_ID  from DEPARTMENT where PARENT_DEPT_ID is not null; 3.分组查询 /*分组查询,包括NULL,不包括重复值*/ select  PARENT_DEPT_ID  from DEPARTMENT group by PARENT_DEPT_ID; /*分组查询,不包括NULL,不包括重复值*/ select  PARENT_DEPT_ID  from DEPARTMENT where PARENT_DEPT_ID is not null group by PARENT_DEPT_ID; /*查询所有非空上级部门及其子部门数量*/ select  PARENT_DEPT_ID,count(*)  from DEPARTMENT where PARENT_DEPT_ID is not null group by PARENT_DEPT_ID; ---- 模糊匹配查询(不区分字母大小写) ---- /*左匹配:查询姓名以l|L开头的用户记录*/ select * from USER_INFO where NAME like 'l%' /*右匹配:查询姓名以ry|Ry|rY|RY结尾的用户记录*/ select * from USER_INFO where NAME like '%rY'; /*全匹配:查询姓名中包含n|N的用户记录*/ select * from USER_INFO where NAME like '%n%' 4.多表查询 where为其连接条件 /*查询所有用户及其部门详细信息*/ select USER_INFO.*,DEPARTMENT.* from   USER_INFO , DEPARTMENT where  USER_INFO.DEPT_ID=DEPARTMENT.DEPT_ID /*查询上级部门号为6的用户编号和姓名,量词in和exists前可加not否定式 */ --嵌套查询方式1 select USER_NO,NAME from USER_INFO where DEPT_ID in ( select DEPT_ID from DEPARTMENT where PARENT_DEPT_ID=6 ) --嵌套查询方式2 select USER_NO,NAME from USER_INFO where 6 IN ( select PARENT_DEPT_ID from   DEPARTMENT where  DEPARTMENT.DEPT_ID=USER_INFO.DEPT_ID ) --嵌套查询方式3 select USER_NO,NAME from USER_INFO where exists ( select * from   DEPARTMENT where  DEPARTMENT.DEPT_ID=USER_INFO.DEPT_ID        AND PARENT_DEPT_ID=6 ) 5.集合查询 /*查询至少属于部门5和部门7的用户编号和姓名(或运算)*/ (select  USER_NO,NAME from  USER_INFO where DEPT_ID=5) union (select  USER_NO,NAME from  USER_INFO where DEPT_ID=7); --效果同嵌套查询方式1的集合查询式 select USER_NO,NAME from USER_INFO where DEPT_ID=some ( select DEPT_ID from DEPARTMENT where PARENT_DEPT_ID=6 ); -------------------------end-----------------------

阅读(3360) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册