SQL Server 7.0 入门(二)

本文介绍了SQL中的SELECT语句使用方法,包括选择所有列、选择不同值、结果列重命名及选择计算值等。同时详细讲解了WHERE子句中的条件选择,如比较操作、逻辑操作等,帮助读者更好地理解和掌握SQL查询技巧。
存取数据
select语句
1. 选择表中的所有列
“*”对Select语句有特殊意义。它指定表中的所有列,而不用列出列的名字。列的顺序和表中的顺序相同。
2. 选择不同的值
如果被选择列表中的列有重复值,这时“distinct”关键字可以用来忽略重复值。
注意: 如果Select list中多于一列,则distinct关键字对它们总体有效。如果一列有重复值,而其他列的值是唯一的,则有重复值的一列包含在结果中。
3. 在结果数据集合中对列重命名
结果中列的默认名字是源数据库中的列名,用户可以用自己指定的列名来代替默认的列名。
Select AuthorFirstName = au_fname from authors   
--将列名由“au_fname”改成“AuthorFirstName”
4. 选择计算值
在Select list中可以包含计算值或常量。计算值是在算术表达式的基础上计算而来的,它可包含在表中的一列或多列。
Select totalSale = price * ytd_sales from titles

条件选择(Where子句)
使用一个比较或逻辑操作在Where子句中指定过滤条件,来生成表中想得到的行。
1.  比较操作
比较操作能比较数值、字符和日期数据,返回TRUE或FALSE。
比较操作符
<(小于)
>(大于)
=(等于)

<>(不等于)
>=(大于等于)
<=(小于等于)

!=(不等于)
!<(不小于)
!>(不大于)


2.  逻辑操作
逻辑操作测试某些条件是否正确,并根据测试结果返回TRUE或FALSE。
? LIKE 如果操作和指定的字符串相同,则返回TRUE,指定的字符串也可包含通配符。
有通配符的like操作更有用。
        ? “%”规定所有字符串可代替字符“%”的位置。任何在“%”之前或之后的指定字符串视为常量。如:“New%”表示所有以“New”开头的字符串,“%New”表示以“New”结尾的字符串。
        ? “_”规定任何单个字符可代入“_”的位置。这在只有一个字符不同的相近字符的情况下非常有用。
        ? “[]”规定使用方括号中定义的字符代替一个字符。方括号中可能是独立的字符(如[ahg]),也可是字符范围(如[c-i])。
? “[^]”规定方括号中“^”之后的字符为不能用来代入的字符,它可以是独立字符(如[ahg]),也可是字符范围(如[c-i])。
注意:可以在一个表达式中组合运用这些通配符。
? BETWEEN 如果操作数在提供的范围之内,则返回TRUE。
BETWEEN可和NOT操作符一同使用,如果数据在指定范围之外,则返回TRUE。
注意:BETTEN操作符是指定范围。例如,BETWEEN A and B表示所有在A和B之间的值,包括A和B。
? IN 如果操作数和任意的指定值相匹配,则IN操作符返回TRUE。指定值可以是一个常量值列表,也可由另外的查询(称为子查询)产生。
    IN操作符也可和NOT操作符联合使用,如果数据不在指定值中,它返回TRUE。
? AND 它结合两个表达式,如果两个表达式都为TRUE,则它返回TRUE,否则返回FALSE。
? OR 它结合两个表达式,如果两个表达式中有一个为TRUE,则它返回TRUE,如果两个都为FALSE,则返回FALSE。
? NOT 它对逻辑操作值求反,它可和大多数逻辑操作联合使用,对操作返回的值求反。
? SOME|ANY 这两个操作有相同的格式。它们把操作数和指定值的集合比较。如果操作数与任意指定值的比较返回TRUE,则它返回TRUE。比较操作可以是任意SQL Server定义的比较操作。指定值列表可以由另一个查询产生。
? ALL ALL操作和SOME及ANY有相似的格式。不同的是,如果所有操作数和指定值的比较返回TRUE,它才返回TRUE。
第一部分 概觀篇 1. 微軟SQL Server的發展歷史:1989到1999 [加入我的離線書架] . Ron的故事 . Kalen的故事 . Microsoft SQL Server發行 . 發展過程中的角色 . OS/2和合作伙伴間的戰火(Friendly Fire) . 4.2版 . SQL Server For Windows NT . 成功所帶來的改變 . 合作開發的結束 . SQL95的任務 . 下一個版本 . Sphinx的秘密 . 新的未來 2. SQL Server導覽 [加入我的離線書架] . SQL Server引擎 . DBMS強制的資料完整(Data Integrity) . 交易(Transaction)處理 . 對稱(Symmetric)伺服器架構 . 安全(Security) . 高可用性(Availability) . 分散式資料處理 . 資料複製(Replication) . 系統管理 . SQL Server公用程式(Utility)與延伸部分(Extension) . 用戶端開發介面 . 總結 第部分 架構概觀篇 3. SQL Server架構 [加入我的離線書架] . SQL Server引擎 . 記憶體管理 . 交易日誌記錄(Transaction Logging)與回復(Recovery) . SQL Server核心(Kernel)以及與作業系統的互動(Interaction) . 總結 第三部分 使用Microsoft的SQL Server 4. 規劃及安裝SQL Server [加入我的離線書架] . SQL Server的版本 . 硬體指引 . 硬體元件 . 作業系統 . 檔案系統 . 安全性與使用者身份(Context) . 授 權 . 網路協定 . 字元集與排序順序 . 安裝SQL Server . 安裝後的基本組態 . 遠端與不在場安裝 . 總結 5. 資料庫與資料庫檔案 [加入我的離線書架] . 特殊系統資料庫 . 資料庫檔案 . 建立資料庫 . 擴增(Expand)與縮減(Shrink)資料庫 . 修改交易日誌(log)檔案大小 . 資料庫檔案群組(Filegroups) . 修改資料庫 . 資料庫的內部 . 資料庫選項 . 其他資料庫考量 . 總結 6. 表格(Table) [加入我的離線書架] . 建立表格 . 內部儲存體-細節 . 索 引 . 使用者自訂型態 . Identity屬性 . 限制(Constraints) . 修改表格 . 暫存表格 . 總結 7. 查詢資料 [加入我的離線書架] . 查詢(SELECT)敘述 . NULL的處理 . 子查詢(Subquery) . 檢視表和導出表格(Views and Derived Tables) . 其它的搜尋運算子 . 總結 8. 修改資料 [加入我的離線書架] . 基本的修改動作 . 內部資料修改 . 總結 9. Transact-SQL程式設計 [加入我的離線書架] . 將Transact-SQL當作程式語言 . Transact-SQL程式設計構詞兒─基礎 . 總結 10. 批次、交易、預儲程序與觸發 [加入我的離線書架] . 批次(Batch) . 交易(Transaction) . 預儲程序 . 執行批次或預儲程序預儲什麼? . 觸發(Trigger) . 預儲程序與觸發的除錯(Debugging) . 使用Text與Image資料 . 環境的考量 . 總 結 11. 游標(Cursor) [加入我的離線書架] . 游標基本概述 . 游標與ISAM . 游標模式 . 適當的使用游標 . 使用Transact-SQL游標 . 游標變數 . 總結 12. Transact-SQL範例與難題 [加入我的離線書架] . 使用觸發器(Trigger)來實作參考動作(Referential Actions) . 難題(Brainteaser) . 總結 13. 鎖 定 [加入我的離線書架] . 鎖定管理員(Lock Manager) . 使用者資料的鎖定型別 . 鎖定相容性 . 結合連線(Bound Connection) . 列階層與分頁階層鎖定 . 鎖定提示(Hints)與追蹤旗標(Trace Flags) . 總結 第四部分 效能與調整篇 14. 查詢效能最佳化 [加入我的離線書架] . 開發小組 . 應用程式與資料庫設計 . 規劃尖峰使用量 . 了解互動系統的回應時間 . 建立原型(Prototyping)、標準效能評估 (Benchmarking) 與測試 (Testing) . 建立有用的索引 . 使用預儲程序(stored procedure)與快取機制 . 同時性(concurrency)與 一致性 (consistent) 互抵 (trade-off) . 解決阻擋(Blocking)問題 . 解決死結問題 . 分離OLTP與DSS應用程式 . 查詢最佳化 . 監控查詢效能 . 總結 15. 設定與效能監看 [加入我的離線書架] . Windows NT組態設定 . SQL Server組態設定 . 系統維護 . 監看系統行為 . 總結 建議閱讀書目 [加入我的離線書架]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值