『壹』 如何用sql查詢記錄
1. 首先需要登錄
2. 打開Sql Server
3. 先展開需要查詢的表,了解其中的欄位名後點擊新建查詢
4. 查詢中輸入如下命令:
5. select top 20 UserID,UserName
from ReportServer$SQLSERVER.dbo.Users
7. 即可查看所有符合條件的記錄。
8. 註:其中?top 20 為最先的20條。可以去掉後顯示所有。
9. UserID,UserName 為指定欄位名,如替換為 * 則顯示所有欄位。
10. ReportServer$SQLSERVER.dbo.Users,分別為庫名,表名。
『貳』 sql查詢(
具體要看是什麼資料庫了,以sqlserver為例,其他的話,另外說明吧
創建表,插入數據:
createtabletable_id
(id1int,
id2int,
id3int,
id4int,
id5int)
insertintotable_idvalues(1,3,2,5,null)
insertintotable_idvalues(2,5,null,null,null)
insertintotable_idvalues(3,2,5,null,null)
insertintotable_idvalues(4,2,5,null,null)
insertintotable_idvalues(5,null,null,null,null)
createtabletable_rel
(idint,
namevarchar(10))
insertintotable_relvalues(1,'張三')
insertintotable_relvalues(2,'李四')
insertintotable_relvalues(3,'王五')
insertintotable_relvalues(4,'趙六')
insertintotable_relvalues(5,'田七')
執行:
withtas
(selectreplace(replace(replace(casewhena.id1=b.idthenb.nameelse''end+'/'+
casewhena.id2=c.idthenc.nameelse''end+'/'+
casewhena.id3=d.idthend.nameelse''end+'/'+
casewhena.id4=e.idthene.nameelse''end+'/'+
casewhena.id5=f.idthenf.nameelse''end,'//','/'),'//','/'),'//','/')str
fromtable_idaleftjointable_relbona.id1=b.id
leftjointable_relcona.id2=c.id
leftjointable_reldona.id3=d.id
leftjointable_releona.id4=e.id
leftjointable_relfona.id5=f.id)
selectcasewhenstrlike'%/'thenLEFT(STR,LEN(str)-1)elseSTRendstrfromt
執行結果:
『叄』 sql查詢 用sql語言
select 信息表.姓名,信息表.年齡,課程表.課程名,成績表.成績 from
(信息表 inner join 成績表 on 信息表.學號=成績表.學號)
inner join 課程表 on 成績表.課程號=課程表.課程號
where 成績表.學號 in
(select 成績表.學號 from 成績表 inner join 課程表 on 成績表.課程號=課程表.課程號 where 課程表.課程名='體操課' and 成績表.成績<>'')
and
成績表.學號 in
(select 成績表.學號 from 成績表 inner join 課程表 on 成績表.課程號=課程表.課程號 where 課程表.課程名='英語' or 課程表.課程名='數學' and sum(成績表.成績)>170 group by 成績表.學號)
累死了!~
『肆』 SQL查詢命令
1、select學號,姓名fromswhere班級='高會1'
2、select*fromswhere入學成績in(selecttop3入學成績from(selectdistinct入學成績froms)aorderby入學成績desc)
3、select*froms姓名like'%王%'
以上考慮成績並排情況
以下是不考慮成績並排的情況:
2、SELECTTOP3*FROMSORDERBY入學成績DESC
『伍』 一個sql查詢
update table_name set c = a.a
from table_name b,table_name a
where b.b = a.a and a.a = b.a and table_name.a = b.a
/*
select a.a from table_name a
join table_name b on b.b = a.a and a.a = b.a
*/
『陸』 sql查詢,
比如查詢id為1的評論數:
select count(id,評論內容,創建時間 from comment) as count where status=1 and id=1//id為1的總的評論數;
再將該條數據的評論數與內容一起查詢顯示出來
select id,評論內容,創建時間 from comment,(select count(id,評論內容,創建時間 from comment) where status=1 and id=1) as count where id=1
『柒』 SQL查詢
好像有的問題問得有點問題。。你自己讀一下。。沒錯的話確認一下。
『捌』 sql查詢語句
請 使用 行列轉換語句即可:
假設有張學生成績表(CJ)如下
Name Subject Result
張三 語文 80
張三 數學 90
張三 物理 85
李四 語文 85
李四 數學 92
李四 物理 82
想變成
姓名 語文 數學 物理
張三 80 90 85
李四 85 92 82
declare @sql varchar(4000)
set @sql = 'select Name'
select @sql = @sql + ',sum(case Subject when '''+Subject+''' then Result end) ['+Subject+']'
from (select distinct Subject from CJ) as a
select @sql = @sql+' from test group by name'
exec(@sql)
也可以參考:
sql 語句行列轉換
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(12) | YES | | NULL | |
| course | varchar(10) | YES | | NULL | |
| score | int(11) | YES | | NULL | |
+--------+-------------+------+-----+---------+----------------+
select name,
sum(case course when 'yuwen' then score else 0 end) as 'yuwen',
sum(case course when 'shuxue' then score else 0 end) as 'shuxue',
sum(case course when 'english' then score else 0 end) as 'english'
from course
group by name;
『玖』 SQL查詢語句
CREATETABLE#test(
[用戶名]nvarchar(6),
[時間]datetime
);
GO
INSERTINTO#test
SELECT'張三','2013-07-0901:01:00'UNIONALL
SELECT'李四','2013-07-0901:02:00'UNIONALL
SELECT'張三','2013-07-0902:01:00'UNIONALL
SELECT'李四','2013-07-0903:01:00'UNIONALL
SELECT'張三','2013-07-0903:01:00'UNIONALL
SELECT'李四','2013-07-0905:01:00'UNIONALL
SELECT'張三','2013-07-0904:01:00'
CreateTABLE#time(
[編號]int,
[起始時間]varchar(20),
[結束時間]varchar(20)
);
GO
--這里可以插入需要統計的時間段
INSERTINTO#time
SELECT1,'00:00:00','02:59:59'UNIONALL
SELECT2,'01:00:00','03:59:59'
select
a.[用戶名],count(a.[用戶名])[出現次數],b.[起始時間]+'-'+b.[結束時間][時間段]
from#testainnerjoin#timeb
on(RIGHT(convert(varchar,a.[時間],120),8)betweenb.[起始時間]andb.[結束時間])
groupbyb.[起始時間],b.[結束時間],a.[用戶名]
結果:
『拾』 什麼是SQL查詢
SQL全稱是「結構化查詢語言(Structured Query Language)」
SQL(STructured Query Language)是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統。
SQL同時也是資料庫文件格式的擴展名。
SQL是高級的非過程化編程語言,允許用戶在高層數據結構上工作。他不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統可以使用相同的SQL語言作為數據輸入與管理的介面。它以記錄集合作為操縱對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語言可以嵌套,這使他具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的一個單獨事件只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。
結構化查詢語言(Structured Query Language)最早的是IBM的聖約瑟研究實驗室為其關系資料庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。如今無論是像Oracle ,Sybase,Informix,SQL server這些大型的資料庫管理系統,還是像Visual Foxporo,PowerBuilder這些微機上常用的資料庫開發系統,都支持SQL語言作為查詢語言。
美國國家標准局(ANSI)與國際標准化組織(ISO)已經制定了 SQL 標准。ANSI 是一個美國工業和商業集團組織,發展美國的商務和通訊標准。ANSI 同時也是 ISO 和 International Electrotechnical Commission(IEC)的成員之一。ANSI 發布與國際標准組織相應的美國標准。1992年,ISO 和 IEC 發布了 SQL 的國際標准,稱為 SQL-92。ANSI 隨之發布的相應標準是 ANSI SQL-92。ANSI SQL-92 有時被稱為 ANSI SQL。盡管不同的關聯式資料庫使用的 SQL 版本有一些差異,但大多數都遵循 ANSI SQL 標准。SQL Server 使用 ANSI SQL-92 的擴展集,稱為 T-SQL,其遵循 ANSI 制定的 SQL-92 標准。
SQL語言包含4個部分:
數據定義(DDL)語言(如CREATE, DROP,ALTER等語句)
數據操縱(DML)語言(INSERT, UPDATE, DELETE語句)
數據查詢語言(SELECT語句)
數據控制語言(如GRANT,REVOKE,COMMIT, ROLLBACK等語句)
SQL 語言包括兩種主要程式設計語言類別的陳述式: 資料定義語言 (DDL)與資料操作語言 (DML)。