- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本的 SQL Select
From 子句
??? 在 FROM 子句中指定要查询的表,若指定的表未打开,FoxPro 将自动打开指定的表,但在查询完成后,FoxPro并不自动关闭它所打开的表,若要在查询完成后关闭表,则必须以手动方式关闭它们。若在执行 SQL SELECT 时,FROM 子句中指定的表已经打开,则 FoxPro 以 USE …AGAIN 的方式重新打开此表。
Select 子句
SELECT 子句中指定要查询的结果字段,这些结果可以是以下基本元素:
?
?????? 通配符 *
?????? 表中的字段名
?????? FoxPro 函数
?????? SELECT 中可用的列函数
?????? 用户自定义函数
??? 常数(常用于作为占位符)
?
以上各元素在SELECT子句中以逗号分开,例如:
?
SELECT 销售地区,销售部门,业务员 ;
? FROM 销售表
?
若 SELECT 子句中的字段名是唯一的,则不必在字段名前加别名修饰,SQL 能自动找到这些字段。若字段名是非唯一的(即同一字段名出现在 FROM 子句中的两个或两个以上表中),FoxPro 返回以下错误信息:
???? 字段|变量 不唯一,必须加以限定
要纠正这一错误,用字段所在表的别名修饰该字段。
若在 SELECT 子句中加入了 FoxPro 函数,则意味着该语句不具备可移植性。
SQL 和用户自定义函数
FoxPro 支持在 Select 子句中使用用户定义函数。但是由于在其它系统中不支持用户定义函数。因此在开发可能移植的系统时不要使用用户自定义函数。
Select 子句中的关键字和其它子句
Select 子句中的通配符
1、*(星号)
只能使用在字段串列参数中。代表来源数据库中所有的字段。如果 select 是在二个以上的数据库中进行查询的,则要在号码前加上数据库别名。
?* 是 SQL 中的三个通配符之一(其它两个是 ? 和 _ ,将在以后讨论),* 只能出现在 Select 子句中,通配符前可以用别名修饰,在此情况下表示要查询指定工作区中的全部字段.同时还可以给出其它字段名.如:
?
Select销售表.*,客户表.客户代码, 客户表.客户名称 ;
?? FROM 销售表, 客户表 ;
?? WHERE销售表.客户代码 =客户表.客户代码
?
2、%(百分号)
只能使用在 Where 参数中,代表一连串任意字符类似于 DOS 下的 IT*.PRG 中的 “*”。通常与运算符 LIKE 搭配使用:
?
SELECT 客户名 FROM客户表 WHERE客户名 LIKE “成都%公司”
?
以上查询选择所有公司名以”成都”开始,以”公司”结尾的客户,如:成都东方公司、成都西部发展公司等。
?
3、_(下划线)
也只能使用在 where 参数中,代表一个任意字符。与DOS 下的 DIR IT??.PRG中的”?”一样。例如 _a% 表示第二个字符为 a 的字串。通常与 LIKE 搭配使用:
?
SELECT 客户名 FROM客户表 WHERE客户名 LIKE “成都_公司”
?
以上查询选择类似于”成都分公司”, ”成都总公司”这样的公司名字。
?
另一种情况是文字数据中正好包含有星号、百分号、下划线(例如:软件部__业务组),此时可使用关键字 ESCAPE 告诉 SQL 哪一个字符是常数字符而非通配符。例如:
?
select company from customer
where company like%\_% escape \
?
??? 此时 escape 所指定字符(即\)后的那一个字段(此处为下划线_)将被视为常数字符而非通配符。
字段别名(AS)
?FoxPro 提供了给 Select 子句中的字段起别名的方法(这种方法不同于 ANSI/ISO 标准):即可用 AS 子句给出 Select 子句中字段的别名,在多当需要直接浏览查询结果或查询结果中含有计算列时,该方法很有用处.例如:
?
SELECT “物资部” AS 部门,SUM(工资) AS 工资汇总 ;
FROM 工资表 ;
WHERE 部门编号 = “0013”
用 DISTINCT 消去重复的记录
SELECT 中的 DISTINCT 关键字,可以消去查询结果中的重复行。例如要字段出所有购买了商的客户,可以用以下 Select 语句:
?
SELECT DISTINCT客户名称 ;
FROM 销售细节表
?
注意,这里消去的重复记录是指 SELECT 子句中的所有字段值均相等的记录.
当 SQL 遇到 DISTINCT 关键字时,即建立一个中间表。然后以 SELECT 子句中的所有字段建立一个唯一索引,然后将索引用于中间表,并把索引中的记
您可能关注的文档
- 机动车辆保险定损2选编.doc
- 机房建设工程报价清单明细表选编.doc
- 希腊罗马神话:1-4众神题稿.ppt
- 6B维护使用说明书选编.doc
- 机房设备安装检查记录选编.doc
- 07第七章右岸混凝土系统设计、施工及运行管理选编.doc
- 希腊罗马神话:14-15奥德赛题稿.ppt
- 7.机械企业安全隐患排查上报通用标准选编.doc
- 08机械设计与制造(机电一体化技术)选编.doc
- 8.冶金(炼钢、炼铁)企业安全隐患排查上报通用标准选编.doc
- 湖北省襄樊市选调生考试(行政职业能力测验)综合能力测试题推荐.docx
- 湖北省襄樊市行政职业能力测验题库带答案.docx
- 湖北省襄樊市行政职业能力测验模拟试题及参考答案.docx
- 湖北省襄樊市事业单位招聘考试(职业能力倾向测验)题库最新.docx
- 湖北省襄樊市选调生考试(行政职业能力测验)综合能力测试题学生专用.docx
- 湖北省襄樊市选调生考试(行政职业能力测验)综合能力测试题附答案.docx
- 湖北省襄樊市事业单位招聘考试(职业能力倾向测验)题库推荐.docx
- 湖北省襄樊市事业单位招聘考试(职业能力倾向测验)题库及参考答案.docx
- 湖北省鄂州市行政职业能力测验模拟试题最新.docx
- 湖北省襄樊市事业单位招聘考试(职业能力倾向测验)题库必考题.docx
最近下载
- 耕地质量等级+(GBT+33469-2016).docx VIP
- 人教版高中物理必修一课件.pptx VIP
- 新生儿高胆红素血症诊治指南(2025)解读 (1)PPT课件.pptx VIP
- 《新生儿高胆红素血症诊治指南(2025)》解读(1)PPT课件.pptx VIP
- SGT756国电南自保护培训全解.ppt VIP
- 建设工程工程量清单计价办法(市政工程定额章节说明).pdf VIP
- 盘扣模板支撑体系技术交底(二级).docx VIP
- 精创温控器EK-3010说明书用户手册.pdf
- 外墙涂料施工安全技术交底.doc VIP
- 在线网课学习课堂《舰艇操纵与避碰》单元测试考核答案.docx VIP
文档评论(0)