ÒÔǰ¶ÔÓÚSql ServerÖÐCaseÃüÁîµÄÓ÷¨Ò»Ö±²»ÊǺÜÁ˽⣬½ñÌìͨ¹ýÉÏÍø²éÁËһЩ×ÊÁÏ£¬½«Case»ù±¾µÄÓ÷¨×ܽáһϡ£
CaseÃüÁîÓÐÁ½ÖÖÓï·¨£º
A£©CASE<ÔËËãʽ>
WHEN <ÔËËãʽ> THEN <ÔËËãʽ>
……
WHEN <ÔËËãʽ> THEN <ÔËËãʽ>
[ELSE<ÔËËãʽ>]
END
¾ÙÀý£ºÏÔʾÖÐÎÄÄêÔÂ
SELECT GETDATE() AS ÈÕÆÚ,
CASE MONTH(GETDATE())
WHEN 11 THEN 'ʮһ'
&n ......
1.ÏÞÖÆ·µ»Ø¼Ç¼µÄÐÐÊý£¨4-10ÐУ©
select rownum,c1 from t144 where rownum<10
minus
select rownum,c1 from t144 where rownum<5
2.ÅúÁ¿²åÈë
insert into tablename(select * from othertable)
»ò
insert into (column1,column2,,,,,,,)tablename(select column1,column2,,,,,,,from othertable)
3,·Ö×麯Êý(½á¹ûÖгöÏÖµÄÁÐÒªÔÚgroup by ÖгöÏÖ)
select count(age), username, , ,... from table group by age,usename,,,,...
4.²é¿´Êý¾Ý¿âÖеĴæÔڵıí
select table_name from dba_tables (include all users)
select * from tab(include view)
5.¸ßЧupdate£¬Ò»´ÎÐ޸Ķà¸öÁÐ
update smsmonitor sms
set (sms.smsmonitor_sendflag, sms.smsmonitor_maxnum) = (select s.smsmonitor_sendflag,
&n ......
ת×ÔCSDNÂÛ̳£ºchaihuoniu
ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£
SQL·ÖÀࣺ
DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREATE DATABASE database-name
2¡¢ËµÃ÷£ºÉ¾³ýÊý¾Ý¿â
drop database dbname
3¡¢ËµÃ÷£º±¸·Ýsql server
--- ´´½¨ ±¸·ÝÊý¾ÝµÄ device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- ¿ªÊ¼ ±¸·Ý
BACKUP DATABASE pubs TO testBack
4¡¢ËµÃ÷£º´´½¨Ð±í
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
¸ù¾ÝÒÑÓÐµÄ±í´´½¨ÐÂ±í£º
A£ºcreate table tab_new like tab_old (ʹÓÃ¾É±í´´½¨Ð±í)
B£ºcreate table tab_new as select col1,col2… from tab_old definition only
5¡¢ËµÃ÷£ºÉ¾³ýбídrop table tabname
6¡¢ËµÃ÷£ºÔö¼ÓÒ»¸öÁÐ
Alter table tabname add column col type
×¢£ºÁÐÔö¼Óºó½«²»ÄÜɾ³ý¡£DB2ÖÐÁмÓÉϺóÊý¾ÝÀàÐÍÒ²²»Ä ......
SQLÓï·¨ÊÖ²á
Select
ÓÃ;£º
´ÓÖ¸¶¨±íÖÐÈ¡³öÖ¸¶¨µÄÁеÄÊý¾Ý
Óï·¨£º
SELECT column_name(s) from table_name
½âÊÍ£º
´ÓÊý¾Ý¿âÖÐѡȡ×ÊÁÏÁУ¬²¢ÔÊÐí´ÓÒ»»ò¶à¸ö×ÊÁϱíÖУ¬Ñ¡È¡Ò»»ò¶à¸ö×ÊÁÏÁлò×ÊÁÏÐС£SELECT ³ÂÊöʽµÄÍêÕûÓï·¨Ï൱¸´ÔÓ£¬µ«Ö÷Òª×Ó¾ä¿ÉժҪΪ£º
SELECT select_list
[ INTO new_table ]
from table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
Àý£º
“Persons” ±íÖеÄÊý¾ÝÓÐ
LastName
FirstName
Address
City
Hansen
Ola
Timoteivn 10
Sandnes
Svendson
Tove
Borgvn 23
Sandnes
Pettersen
Kari
Storgt 20
Stavanger
Ñ¡³ö×Ö¶ÎÃû” LastName”¡¢” FirstName” µÄÊý¾Ý
SELECT LastName,FirstName from Persons
·µ»Ø½á¹û:
LastName
FirstName
Hansen
Ola
Svendson
Tove
Pettersen
Kari
Ñ¡³öËùÓÐ×ֶεÄÊý¾Ý
SELECT * from Persons
·µ»Ø½á¹û:
LastName
FirstName
Address
City
Hansen
Ola
Timoteivn 10
Sandn ......
SQL UNION ²Ù×÷·û
UNION ²Ù×÷·ûÓÃÓںϲ¢Á½¸ö»ò¶à¸ö SELECT Óï¾äµÄ½á¹û¼¯¡£
Çë×¢Ò⣬UNION ÄÚ²¿µÄ SELECT Óï¾ä±ØÐëÓµÓÐÏàͬÊýÁ¿µÄÁС£ÁÐÒ²±ØÐëÓµÓÐÏàËÆµÄÊý¾ÝÀàÐÍ¡£Í¬Ê±£¬Ã¿Ìõ SELECT Óï¾äÖеÄÁеÄ˳Ðò±ØÐëÏàͬ¡£
SQL UNION Óï·¨
SELECT column_name(s) from table_name1
UNION
SELECT column_name(s) from table_name2
×¢ÊÍ£ºÄ¬Èϵأ¬UNION ²Ù×÷·ûѡȡ²»Í¬µÄÖµ¡£Èç¹ûÔÊÐíÖØ¸´µÄÖµ£¬ÇëʹÓà UNION ALL¡£
SQL UNION ALL Óï·¨
SELECT column_name(s) from table_name1
UNION ALL
SELECT column_name(s) from table_name2
ÁíÍ⣬UNION ½á¹û¼¯ÖеÄÁÐÃû×ÜÊǵÈÓÚ UNION ÖеÚÒ»¸ö SELECT Óï¾äÖеÄÁÐÃû¡£
ÏÂÃæµÄÀý×ÓÖÐʹÓõÄÔʼ±í£º
Employees_China:
E_IDE_Name
01
Zhang, Hua
02
Wang, Wei
03
Carter, Thomas
04
Yang, Ming
Employees_USA:
E_IDE_Name
01
Adams, John
02
Bush, George
03
Carter, Thomas
04
Gates, Bill
ʹÓà UNION ÃüÁî
ʵÀý
ÁгöËùÓÐÔÚÖйúºÍÃÀ¹úµÄ²»Í¬µÄ¹ÍÔ±Ãû£º
SELECT E_Name from Employees_China
UNION
SELECT E_Name from Employees_USA
½á¹û
E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams ......
Ò»¡¢Ê¹Óà Microsoft OLE DB Provider For ODBC Á´½ÓMySQL
°²×°MySQLµÄODBCÇý¶¯MyODBC
1¡¢ÎªMySQL½¨Á¢Ò»¸öODBCϵͳÊý¾ÝÔ´£¬ÀýÈ磺ѡÔñÊý¾Ý¿âΪtest ,Êý¾ÝÔ´Ãû³ÆÎª
myDSN
2¡¢½¨Á¢Á´½ÓÊý¾Ý¿â
EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL',
@provider = 'MSDASQL', @datasrc = 'myDSN'
GO
EXEC sp_addlinkedsrvlogin
@rmtsrvname='MySqlTest',@useself='false',@locallogin='sa',@rmtuser='mys
qlµÄÓû§Ãû',@rmtpassword='mysqlµÄÃÜÂë'
3¡¢²éѯÊý¾Ý
SELECT * from OPENQUERY (MySQLTest ,'select * from ±í' )
ÏÂÃæÕâ¸ö²»ÐУº
SELECT * from OPENQUERY (MySQLTest ,'±í' )
×¢Ò⣺²»ÄÜÖ±½ÓÓÃselect * from Á´½Ó·þÎñÆ÷Ãû.Êý¾Ý¿âÃû.Óû§Ãû.±í(»òÊÓͼ)
ËIJ¿·ÖÃû³Æ²éѯÊý¾Ý£¬¿ÉÄÜÊǸöBug.
¶þ¡¢Ê¹Óà Microsoft OLE DB Provider For ORACLE Á´½ÓORACLE
1¡¢½¨Á¢Á´½ÓÊý¾Ý¿â
sp_addlinkedserver '±ðÃû', 'Oracle', 'MSDAORA', '·þÎñÃû'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='±ðÃû
',@useself='false',@locallogin='sa',@rmtuser='oracleÓû§Ãû
',@rmtpassword='ÃÜÂë'
2¡¢²éѯÊý¾Ý
SELECT * from ±ðÃû..Óû ......