我想學(xué)SQL語言,請問有什么書適合初學(xué)者看?麻煩告訴書名和出版社?

熱心網(wǎng)友

SQL語言學(xué)習(xí)--語 句 功 能--數(shù)據(jù)操作SELECT --從數(shù)據(jù)庫表中檢索數(shù)據(jù)行和列INSERT --向數(shù)據(jù)庫表添加新數(shù)據(jù)行DELETE --從數(shù)據(jù)庫表中刪除數(shù)據(jù)行UPDATE --更新數(shù)據(jù)庫表中的數(shù)據(jù)--數(shù)據(jù)定義CREATE TABLE --創(chuàng)建一個數(shù)據(jù)庫表DROP TABLE --從數(shù)據(jù)庫中刪除表ALTER TABLE --修改數(shù)據(jù)庫表結(jié)構(gòu)CREATE VIEW --創(chuàng)建一個視圖DROP VIEW --從數(shù)據(jù)庫中刪除視圖CREATE INDEX --為數(shù)據(jù)庫表創(chuàng)建一個索引DROP INDEX --從數(shù)據(jù)庫中刪除索引CREATE PROCEDURE --創(chuàng)建一個存儲過程DROP PROCEDURE --從數(shù)據(jù)庫中刪除存儲過程CREATE TRIGGER --創(chuàng)建一個觸發(fā)器DROP TRIGGER --從數(shù)據(jù)庫中刪除觸發(fā)器CREATE SCHEMA --向數(shù)據(jù)庫添加一個新模式DROP SCHEMA --從數(shù)據(jù)庫中刪除一個模式CREATE DOMAIN --創(chuàng)建一個數(shù)據(jù)值域ALTER DOMAIN --改變域定義DROP DOMAIN --從數(shù)據(jù)庫中刪除一個域--數(shù)據(jù)控制GRANT --授予用戶訪問權(quán)限D(zhuǎn)ENY --拒絕用戶訪問REVOKE --解除用戶訪問權(quán)限--事務(wù)控制COMMIT --結(jié)束當(dāng)前事務(wù)ROLLBACK --中止當(dāng)前事務(wù)SET TRANSACTION --定義當(dāng)前事務(wù)數(shù)據(jù)訪問特征--程序化SQLDECLARE --為查詢設(shè)定游標(biāo)EXPLAN --為查詢描述數(shù)據(jù)訪問計劃OPEN --檢索查詢結(jié)果打開一個游標(biāo)FETCH --檢索一行查詢結(jié)果CLOSE --關(guān)閉游標(biāo)PREPARE --為動態(tài)執(zhí)行準(zhǔn)備SQL 語句EXECUTE --動態(tài)地執(zhí)行SQL 語句DESCRIBE --描述準(zhǔn)備好的查詢---局部變量declare @id char(10)--set @id = '10010001'select @id = '10010001'---全局變量---必須以@@開頭--IF ELSEdeclare @x int @y int @z intselect @x = 1 @y = 2 @z=3if @x @y print 'x y' --打印字符串'x y'else if @y @z print 'y z'else print 'z y'--CASEuse panguupdate employeeset e_wage = case when job_level = ’1’ then e_wage*1。08 when job_level = ’2’ then e_wage*1。07 when job_level = ’3’ then e_wage*1。06 else e_wage*1。05 end--WHILE CONTINUE BREAKdeclare @x int @y int @c intselect @x = 1 @y=1while @x =表達式的最小整數(shù)返回的數(shù)據(jù)類型與表達式相同可為 --INTEGER/MONEY/REAL/FLOAT 類型FLOOR(numeric_expression) --返回 AS [ length ])CONVERT() 函數(shù)語法如下CONVERT() ([ length ], [, style])select cast(100+99 as char) convert(varchar(12), getdate())運行結(jié)果如下------------------------------ ------------199 Jan 15 2000----日期函數(shù)----DAY() --函數(shù)返回date_expression 中的日期值MONTH() --函數(shù)返回date_expression 中的月份值YEAR() --函數(shù)返回date_expression 中的年份值DATEADD( , ,) --函數(shù)返回指定日期date 加上指定的額外日期間隔number 產(chǎn)生的新日期DATEDIFF( , ,) --函數(shù)返回兩個指定日期在datepart 方面的不同之處DATENAME( , ) --函數(shù)以字符串的形式返回日期的指定部分DATEPART( , ) --函數(shù)以整數(shù)值的形式返回日期的指定部分GETDATE() --函數(shù)以DATETIME 的缺省格式返回系統(tǒng)當(dāng)前的日期和時間----系統(tǒng)函數(shù)----APP_NAME() --函數(shù)返回當(dāng)前執(zhí)行的應(yīng)用程序的名稱COALESCE() --函數(shù)返回眾多表達式中第一個非NULL 表達式的值COL_LENGTH(, ) --函數(shù)返回表中指定字段的長度值COL_NAME(, ) --函數(shù)返回表中指定字段的名稱即列名DATALENGTH() --函數(shù)返回數(shù)據(jù)表達式的數(shù)據(jù)的實際長度DB_ID(['database_name']) --函數(shù)返回數(shù)據(jù)庫的編號DB_NAME(database_id) --函數(shù)返回數(shù)據(jù)庫的名稱HOST_ID() --函數(shù)返回服務(wù)器端計算機的名稱HOST_NAME() --函數(shù)返回服務(wù)器端計算機的名稱IDENTITY([, seed increment]) [AS column_name]) --IDENTITY() 函數(shù)只在SELECT INTO 語句中使用用于插入一個identity column列到新表中/*select identity(int, 1, 1) as column_name into newtable from oldtable*/ISDATE() --函數(shù)判斷所給定的表達式是否為合理日期ISNULL(, ) --函數(shù)將表達式中的NULL 值用指定值替換ISNUMERIC() --函數(shù)判斷所給定的表達式是否為合理的數(shù)值NEWID() --函數(shù)返回一個UNIQUEIDENTIFIER 類型的數(shù)值NULLIF(, ) --NULLIF 函數(shù)在expression1 與expression2 相等時返回NULL 值若不相等時則返回expression1 的值。

熱心網(wǎng)友

如果是入門,可以看看微軟自己的教材,比較簡單易懂