SQL語句中列轉行案例
DECLARE @StudentGrade TABLE(student VARCHAR(20), chinese int, maths int, english int)
INSERT @StudentGrade(student,chinese,maths,english)
VALUES('張三','98','76','89')
INSERT @StudentGrade(student,chinese,maths,english)
VALUES('李四','100','74','76')
INSERT @StudentGrade(student,chinese,maths,english)
VALUES('王五','87','90','71')
--原表查詢
SELECT * FROM @StudentGrade
--列轉行後查詢
SELECT student,scoure,grade
FROM @StudentGrade
unpivot(grade FOR scoure in(chinese,maths,english))AS up
--結果如圖
相關推薦
SQL語句中列轉行案例
--初始化示例 DECLARE @StudentGrade TABLE(student VARCHAR(20), chinese int, maths int, english int) INSERT @StudentGrade(student,chinese,maths,
SQL語句中,為什麼where子句不能使用列別名,而order by卻可以?
當select的表示式很長時,我們經常會用as子句為該表示式指定別名,然而卻發現無法在Where條件中直接使用該別名作為判斷條件. 例如下面的SQL語句: select id, (c1 + c2) as s from t1 where s > 100 執行會
SQL語句中,子句不能使用列別名問題
轉一篇關於sql語句書寫規則的,給自己備忘,也分享出來,轉自此文章 當select的表示式很長時,我們經常會用as子句為該表示式指定別名,然而卻發現無法在Where條件中直接使用該別名作為判斷條件. 例如下面的SQL語句: select id, (c1 + c2) as s
sql語句中的 行轉列 查詢
有時候多行資料需要一行顯示, 這就需要行轉列的sql啦. 首先 ,要知道 行轉列當然是要以某個欄位進行分組的,然後再根據表中 一個欄位的值做轉列後的欄位名, 這個值所對應的另一個欄位作為 值 示例: 表名: XX班 班級 學生 身高
利用SQL語句中的case、when、sum實現將表中的一列變為多列
一、原表status的結構如圖所示:展示的主要欄位有addtime1(丟失時間)、addtime2(撿到時間)、status(狀態)1,表示成功;2 表示認領中;0表示未認領;二、現在報表設計的需求是統計一個月之內成功認領的個數、兩個月之內成功認領的個數、三個月之內成功認領以
sql語句中where 1=1和 0=1 的作用
代碼 address .com style 語句 reat www new add sql where 1=1和 0=1 的作用 where 1=1; 這個條件始終為True,在不定數量查詢條件情況下,1=1可以很方便的規範語句。 一、不用where 1=1 在
Sql語句中IN和exists的區別及應用
應用場景 將不 集中 pre 代碼 根據 gif 效率 .cn 表展示 首先,查詢中涉及到的兩個表,一個user和一個order表,具體表的內容如下: user表: order表: in 確定給定的值是否與子查
sql語句對列進行操作
tmp from num table 數據 code pda odi com 1 create table test_1( 2 tname number(20), 3 tage varchar2(1024), 4 tmessage varchar(1024)
sql語句中left join、right join、inner join的區別
select http img image ner -s style nbsp color left join(左聯接) 返回包括左表中的所有記錄和右表中聯結字段相等的記錄; right join(右聯接) 返回包括右表中的所有記錄和左表中聯結字段相等的記錄;inner j
SQl語句中使用占位符的優點
date 註入 了解 運行環境 可讀性 統計信息 浪費 cut val 1.增加SQL代碼可讀性2.占位符可以預先編譯,提高執行效率3.防止SQL註入4用占位符的目的是綁定變量,這樣可以減少數據SQL的硬解析,所以執行效率會提高不少 綁定變量是Oracle解決硬解析的首
sql語句中where 1=1和1=0的作用
lec 動態sql select語句 link 最終 ble 用戶 作用 並且 一、不用where 1=1 在多條件查詢中的困擾 舉個例子,如果您做查詢頁面,並且,可查詢的選項有多個,同時,還讓用戶自行選擇並輸入查詢關鍵詞,那麽,按平時的查詢語句的動態構造,代碼大體如
在T-SQL語句中訪問遠程數據庫
school 本地 customer its date rom rowset update 登陸名 1、啟用Ad Hoc Distributed Queries 在使用openrowset/opendatasource前搜先要啟用Ad Hoc Distributed Que
SQL語句中exists和in的區別
splay 比較 server for target 空值 不存在 依次 第一個 轉自https://www.cnblogs.com/liyasong/p/sql_in_exists.html 和 http://blog.csdn.net/lick4050312/artic
MyBatis Sql語句中的轉義字符
org align eating parse exc 大於號 cin bat 轉義 1、在xml的sql語句中,不能直接用大於號、小於號要用轉義字符 如果用小於號會報錯誤如下: org.apache.ibatis.builder.BuilderException: Erro
封裝sql語句中in限制查詢個數的方法
sel rim () each tar blog and style months /* * 此方法用於每天淩晨取前一天的回滾用戶賬號 */ public function getRollBackAccount($startTime
SQL語句中----刪除表數據drop、truncate和delete的用法
ali index invalid 表結構 back 標識 -- 等保 convert 一、SQL中的語法 1、drop table 表名稱 eg: drop table dbo.Sys_Test 2、trunca
sql語句 中把varchar類型轉換成int
order rom sel asc col pre cas tab clas // sql語句 中把varchar類型轉換成int select * from tableName order by cast(result as SIGNED INTEGER) asc;
SQL語句中有關單引號、雙引號和加號的問題
類型 OS clas 條件 分析 student 條件查詢 log div 字符串數據是用單引號包在外面的,而+號只是用來連接這些字符串的. 數據庫裏的字段是整型的時候不要加單引號,是字符串的時候要加,其它類型根據實際情況來,雙引號就是用來拼接字符串的,單引號是sql文的固
sql語句中#{}和${}的區別
解析 不改變 use 直接 字段 order by 動態 轉義字符 字符串 #將傳入的數據都當成一個字符串,會對自動傳入的數據加一個雙引號。如:order by #user_id#,如果傳入的值是111,那麽解析成sql時的值為order by “111”, 如果傳入的值是
Oracle 中sql語句中的取前n條數據
沒有 blog tab 註意 sql table bsp num 數據 取得薪水最高的前五名員工 sql: select * from ( select empno,ename,sal from emp order by sal desc) where rownum&l