檢視 SQL 的原始碼
←
SQL
跳至導覽
跳至搜尋
由於下列原因,您沒有權限進行編輯此頁面的動作:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
==Connection Strings== * [http://www.connectionstrings.com/ ConnectionStrings.com]……各種資料庫的Connection Strings範例 ==SQL分頁select== ===分頁前SQL=== <source lang="tsql"> SELECT [欄位1, 欄位2, ...] FROM [資料表] WHERE [篩選條件] ORDER BY [排序欄位] [ASC/DESC] </source> ===MS-SQL=== ====MS-SQL Type A==== * 無排序,在關聯式查詢時,可能導致每次查詢同一分頁的資料時,出來的資料都不一樣。 <source lang="tsql"> SELECT [欄位1, 欄位2, ...] FROM [資料表] WHERE [主要索引欄位] IN ( SELECT * FROM ( SELECT TOP [每頁長度*第幾頁] [主要索引欄位] FROM [資料表] WHERE [篩選條件] ) as [資料表别名1] WHERE [主要索引欄位] NOT IN ( SELECT TOP [每頁長度] [主要索引欄位] FROM [資料表] WHERE [篩選條件] ) ) </source> ====MS-SQL Type B==== * 有排序,又稱【夾擠式分頁查詢】。MS-SQL 2000以前,常見的分頁用語法。 <source lang="tsql"> SELECT * FROM ( SELECT TOP [每頁長度] * FROM ( SELECT TOP [每頁長度*第幾頁] [欄位1, 欄位2, ...] FROM [資料表] WHERE [篩選條件] ORDER BY [排序欄位] [DESC/ASC] ) as [資料表别名1] ORDER BY [排序欄位] [ASC/DESC] ) as [資料表别名2] ORDER BY [排序欄位] [DESC/ASC] </source> ====MS-SQL Type C==== * MS-SQL 2005以後才有RANK()語法。 <source lang="tsql"> SELECT * FROM ( SELECT rank() over ( ORDER BY [排序欄位] [ASC/DESC] ) as RankNumber, * FROM ( SELECT [欄位1, 欄位2, ...] FROM [資料表] WHERE [篩選條件] ) as [資料表别名1] ) as [資料表别名2] WHERE RankNumber between [每頁長度*(第幾頁-1)] and [每頁長度*第幾頁] </source> ====MS-SQL Type D==== * MS-SQL 2000可用,但Select時,不可包含PK用的欄位。(需透過暫存資料表操作) * 參考資料:[http://blog.blueshop.com.tw/topcat/archive/2008/03/28/54623.aspx (SQL)抽獎,亂數抽出10筆中獎資料並排名] <source lang="tsql"> SELECT IDENTITY(int,1,1) as RankNumber, [欄位1, 欄位2, ...] INTO [#暫存資料表名稱] FROM [資料表] ORDER BY [排序欄位] [ASC/DESC]; SELECT * FROM [#暫存資料表名稱] WHERE RankNumber between [每頁長度*(第幾頁-1)] and [每頁長度*第幾頁]; drop table [#暫存資料表名稱]; </source> ====其他相關==== * [http://blog.sina.com.tw/4907/article.php?pbgid=4907&entryid=3921 當DataGrid遇見100萬筆資料] :(以SQL預存程序實作SQL-Sever的北風資料庫的分頁範例) ===MySQL=== <source lang="mysql"> SELECT [欄位1, 欄位2, ...] FROM [資料表] WHERE [篩選條件] ORDER BY [排序欄位] [ASC/DESC] LIMIT [每頁長度] OFFSET [每頁長度*第幾頁] </source> ==跨資料庫轉換== * [http://www.ispirer.com/products SQLWays] ==SQL資料隱碼== * [http://www.microsoft.com/taiwan/sql/SQL_Injection.htm 『資料隱碼』SQL Injection的源由與防範之道] {{Zh-TW}} * [http://www.microsoft.com/taiwan/sql/SQL_Injection_G1.htm SQL Injection (資料隱碼)– 駭客的 SQL填空遊戲(上)] {{Zh-TW}} * [http://www.microsoft.com/taiwan/sql/SQL_Injection_G2.htm SQL Injection (資料隱碼)– 駭客的 SQL填空遊戲(下)] {{Zh-TW}} *[http://www.microsoft.com/taiwan/technet/prodtechnol/sql/2000/maintain/sp3sec03.aspx 安全的多層式部署] {{Zh-TW}} for MS-SQL * [http://msdn2.microsoft.com/zh-tw/library/ms161953.aspx SQL 資料隱碼] {{Zh-TW}} for MS-SQL ==FAQ== ===當Table或欄位的名稱衝到SQL預設的保留字時=== * MS-SQL 或 MS-Access 使用 '''['''與''']''' 來將衝突的Table或欄位的名稱包起來。 * Oracle 或 IBM-DB2 或 PostgreSQL 使用雙引號字元 '''"''' 來將衝突的Table或欄位的名稱包起來。 * MySQL 使用反單引號字元 '''`''' 來將衝突的Table或欄位的名稱包起來。 [[Category:SQL]]
此頁面使用了以下模板:
模板:Main
(
檢視原始碼
)
模板:Wikibooks
(
檢視原始碼
)
模板:Wikipedia
(
檢視原始碼
)
模板:Wikiversity
(
檢視原始碼
)
返回「
SQL
」頁面
導覽選單
個人工具
登入
命名空間
頁面
討論
變體
視圖
閱讀
檢視原始碼
檢視歷史
更多
搜尋
導覽
首頁
社群入口
新聞動態
新聞直播
近期變更
Online IDE
分類
程式語言
資料結構
演算法
技術
軟體
SQL資料庫
網站套件
免費資源
副檔名
檔案格式
分類
其他
動畫
漫畫
小說
小說導讀
驅動程式
購物用
求職網站
推薦書單
線上學習
技術類News或部落格
Microsoft devblogs
網頁技術News
資料技術News
安全性相關News
MS-MVP
藍色小舖認證專家
經營行銷類部落格
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊