3.sql2008查询
根据需要和条件,查看并显示结果集,如果需要,可将结果集生成数据表
select:查什么,列筛选,可以用*代表全部列
from:在哪个表中查,
where:符合什么样的条件,行筛选
select:
表示x不等于''的方法:
1.x!=''
2.x<>''
3.x Not IN('')
4.Not X=''
not
and (Between m and n)
or
查找某个字段未填写:x IS Null(题2)
查找多个对象时,一种可以用or,另一种可以用 x IN('','','')
1.查询出客户年龄在20-30之间的客户ID和姓名;
A.between 20 and 30
B. >=20 and <=30
2.查询客户没有填写年龄信息的.
3.查询客户姓名为:X,Y,Z的客户ID,和年龄
X or Y or Z
1.as:以字段名别名的方式显示.
2.distinct:去重,用法: distinct 去重字段名
3.聚合函数(max(),avg(),sum(),count(),min()共五个),where后不能跟聚合函数.
4.top(自然数, 20 percent,order by NewID()--随机生成行标识符)
select top 5 * from Mdf-table-name order by NewID()
5.into:生成一个表,或者表结构,存储于master库中,如:
where 1<>1,只要结构:
select top 6 * from table where 1<>1---生成一个全结构的空表
select top 6 * from table where x like '%s%'---生成一个临时表
from:
1.重命名;
查询出哪些商品被购买的商品名称. 商品表和明细表.
select 商品名称
from 表名1 as 表1,表名2 as 表2
where 表1.cno=表2.cno
也可以省略 as 直接跟空格 表1
2.结合子查询;
两个表查询
select 字段
from 表1,表2
where 表1.id=表2.id
可以换成以下写法:
select 字段
from 表1 as t1,表2 as t2 ---可以不要as写成空格
where t1.id=t2.id
结合子查询:
上述查询的是两个存在的表,如果有一个不是实表,只能使用下面的方法:
select distinct 字段名
from 表1 t1,
(select distinct id from 表2)t2
where t1.id=t2.id
where:
1.数字:=,>,<,>=,<=,!=,<>,!>,!<
2.字符:=,like,Contains
匹配字符中间有空格的,必须使用双引号,如: ' "马 磊"'
%:表示任意个字符;
_(下划线):表示任意1个字符.
如:
like '15[89]%[^67]_ _ _'
Contains:针对大文本,事先要对该字段进行全文检索.而like是精准度比较高.
使用方法:Contains(字段名,'马%')
如果在字符串里有通配符,就要使用转义符,如:
select 字段名列表 from 表名 where 字段名='%/%123' escape '/'
(查询全部结尾为%123的全部记录.)
3.Not,And,Or
4.Between...and
select * from customer where cname between '陈男' and '马国磊'
表示陈男到马国磊之间的数据,包含两者.系统按拼音排序后的结果.
5.IN
order by 字段列表 asc|desc排序
如:
order by 字段1 asc,字段2 desc---第一个字段值相同时按第二个字段
如:对客户表按照年龄排序(升序) ,如果年龄一样,女性在前,男性在后.(order by)
查询出手机号码为135或者138开头,倒数第一二位为66的客户姓名和ID(like)
查询出购买商品的客户号(distinct)
查询出年龄最大的客户号和姓名(max)
select cno,cname
from customer
A.order by cage desc 倒序排列,但如果有两个相同呢
B.where cage=max(cage) 聚合函数不能写在where子句里
使用嵌套方法解决:
where cage=
(
select max(cage)
from customer
)
如果查询字符中包含通配符%_的,使用escape转义.
like '%/%33' escape '/'
查询男性客户的平均年龄;
select avg(cage) as '平均年龄'
from customer
where csex='男'
查询出多少位客户有购物行为;
select count(distinct cno) //如果只查询客户号,不太符合题意
from 明细表
如果查询姓名,就要嵌套查询:
select cname as '姓名' //明细表中没姓名,有客户号
from customer
where cno in
(
select distinct cno
from 明细表
)
查询出某一类商品库存情况;
需要用到商品库存表和商品类别表。
select sum(库存量字段) as '库存量'
from 库存表
where id =
(
select id
from 类别表
where 类别='商品名'
)
3.sql2008查询的更多相关文章
- sql2008 查询字段所属表
select a.name as 表名, g.*from sysobjects as a left join syscolumns as b on a.id=b.id left JOIN sys.ex ...
- 向SQL2008R2导入Acess、excel数据
一:导入Access数据 1.在sql2008查询分析 器中输入如下查询语句能查出access中的数据 SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLE ...
- SQL2008和SQL2000可以跨服务器连接查询的测试实例
测试目的: SQL2008 和 SQL2000 是否可以跨服务器连接查询 -- 测试环境: --A 虚拟机 XP ( IP : .0.0.213 )安装 SQL2000 个人版,并安装 SP4 补丁. ...
- 【读后感1】SQL2008技术内幕- SQL逻辑查询处理
引言观点 1. 编程语言日新月异,但是从没有人否定sql 在现代编程中的巨大作用和 持续的可利用性.SQL以对人类友好的阅读体验提供数据查询能力( 相比其他编程语言 ), 同时在各种数据库平台中,基础 ...
- sql2008 表名为全数字时查询报错
今天遇到个很奇葩的问题,在写一个应用程序时需要查询表的数据,但是表名是全数字的,直接查询会报错,于是想到给111的表名加一对中括号:即——>select * from [111] 刚开始还是报错 ...
- SQL2008数据表空间大小查询脚本
--尽量少用触发器,否则数据库增长很快,特别是关于登陆的数据表字段不要用出发器,一周左右能使得数据库增长1G的空间. --数据库表空间大小查询脚本 IF EXISTS (SELECT * FROM ...
- 查询SQL2008字段和注释
SELECT 表名 then d.name else '' end, 表说明 then isnull(f.value,'') else '' end, 字段序号 = a.colorder, 字段名 = ...
- python 读取 查询 更新 删除 sql2008 类及应用
import pymssql class MSSQL: def __init__(self,host,user,pwd,db): self.host = host self.user = user s ...
- 在SQL2008查找某数据库中的列是否存在某个值
在SQL2008查找某数据库中的列是否存在某个值 --SQL2008查找某数据库中的列是否存在某个值 create proc spFind_Column_In_DB ( @type int,--类型: ...
随机推荐
- PDO数据访问抽象层(上)
PDO比MySQLi功能强大 PDO可以访问MySQL及其它数据库 一.造对象 <?php $dsn = "mysql:dbname = crud;host = localhost&q ...
- PLSQL oracle32位 oracle64 安装区别及注意问题
一.先明确几个概念: 1.PLSQL 只有32位的. 2.oracle 客户端 分别有32.64位,一般使用32位. 3.oracle 服务端 分别有32.64位,一般老的服务器使用32位,新的服务器 ...
- html5-表单的综合实例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- HDU1007.Quoit Design
-- 点我 -- 题目大意 :给你一堆点,求一个最小圆能够覆盖两个点的半径(最近两点距离的一半): 最多100000个点,暴力即O(n^2)会超时,考虑二分,先求左边最短距离dl,右边dr, 和一个点 ...
- sitecore系列教程之Sitecore个性化-试点开始,测试,优化,增量
这是利用Sitecore的个性化引擎实现数字化转型的三部分系列的第三部分.之前的帖子旨在通过为您的个性化体验定义内容策略并在Sitecore中配置该策略来设置基础. 在此之前,我们讨论了内容策略以 ...
- Helter Skelter (扫描线 + 离散化 + 树状数组)
扫描线:按照其中一个区间的标记为pos,然后左区间标记d为正影响,有区间标记d为负影响,然后根据所有的pos排序.pos从小扫到大,那么对于某一个区间一定会被扫过2次,那么经过2次之后就只剩下中间那一 ...
- python XML文件解析:用xml.dom.minidom来解析xml文件
python解析XML常见的有三种方法: 一是xml.dom.*模块,是W3C DOM API的实现,若需要处理DOM API则该模块很合适, 二是xml.sax.*模块,它是SAX API的实现,这 ...
- python内置函数zip
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以 ...
- Hinton“深度学习之父”和“神经网络先驱”,新论文Capsule将推翻自己积累了30年的学术成果时
Hinton“深度学习之父”和“神经网络先驱”,新论文Capsule将推翻自己积累了30年的学术成果时 在论文中,Capsule被Hinton大神定义为这样一组神经元:其活动向量所表示的是特定实体类型 ...
- POJ 2492 A Bug's Life (并查集)
Background Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes ...