SQL server共通文および機能
9544 ワード
原文アドレス:SQL server常用文及び機能
著者:書剣
著者:書剣
、 Transact-SQL 、FROM WHERE 。 、 、 。 , testtable “ ” nickname email 。
SELECT nickname,email
FROM testtable
WHERE name=' '
( ) (select_list) , 、 、 、 ( ) 。
1、 , testtable :
SELECT *
FROM testtable
2、 。 :
SELECT nickname,email
FROM testtable
3、 , 。 : = , , , :
SELECT =nickname, =email
FROM testtable
4、 SELECT ALL DISTINCT , ALL。 DISTINCT , SELECT 。
5、 TOP n [PERCENT] ,TOP n n , TOP n PERCENT , n , 。 :
SELECT TOP 2 *
FROM testtable
SELECT TOP 20 PERCENT *
FROM testtable
( ) FROM FROM SELECT 。 FROM 256 , 。 FROM , , 。 usertable citytable cityid , cityid :
SELECT username,citytable.cityid
FROM usertable,citytable
WHERE usertable.cityid=citytable.cityid
FROM :
as
:
SELECT username,b.cityid
FROM usertable a,citytable b
WHERE a.cityid=b.cityid
SELECT , 。
: SELECT a.au_fname+a.au_lname
FROM authors a,titleauthor ta
(SELECT title_id,title
FROM titles
WHERE ytd_sales>10000 ) AS t
WHERE a.au_id=ta.au_id
AND ta.title_id=t.title_id
, SELECT t, 。
( ) WHERE WHERE , 。 20 :
SELECT *
FROM usertable
WHERE age>20
WHERE :
( ):>、>=、=、<、<=、<>、!>、!<
( ):BETWEEN…AND… NOT BETWEEN…AND…
( ):IN ( 1, 2……) NOT IN ( 1, 2……)
( ):LIKE、NOT LIKE ( ):IS NULL、NOT IS NULL
( ):NOT、AND、OR
1、 :age BETWEEN 10 AND 30 age>=10 AND age<=30
2、 :country IN ('Germany','China')
3、 : , 。 char、 varchar、text、ntext、datetime smalldatetime 。
: %: , , %%。
_: , 。
[]: 、 , 。
[^]: [] , 。
: Publishing , LIKE '%Publishing'
A :LIKE '[A]%'
A :LIKE '[^A]%'
4、 WHERE age IS NULL
5、 : NOT、AND、OR
( ) ORDER BY 。ORDER BY : ORDER BY {column_name [ASC|DESC]} [,…n] ASC , ,DESC 。ORDER BY ntext、text image 。
: SELECT *
FROM usertable
ORDER BY age desc,userid ASC
, 。
、 UNION SELECT , 。UNION :
select_statement
UNION [ALL] selectstatement
[UNION [ALL] selectstatement][…n]
selectstatement SELECT 。
ALL 。 , 。 , 。 , 。 , 、 。 UNION , , , 。 , , 。 UNION , , 。 : 1 UNION ( 2 UNION 3)
、 。 , 。 , , 。 , 。 , 。 , 。 SELECT FROM WHERE , FROM WHERE 。 , Transact-SQL 。 SQL-92 FROM :
FROM join_table join_type join_table
[ON (join_condition)]
join_table , , , 。
join_type , : 、 。 (INNER JOIN) ( ) , 。 , 、 。 (LEFT OUTER JOIN LEFT JOIN)、 (RIGHT OUTER JOIN RIGHT JOIN) (FULL OUTER JOIN FULL JOIN) 。 , , ( )、 ( ) ( ) 。
(CROSS JOIN) WHERE , , 。 ON (join_condition) , 、 。
text、ntext image , 。 :
SELECT p1.pub_id,p2.pub_id,p1.pr_info
FROM pub_info AS p1 INNER JOIN pub_info AS p2
ON DATALENGTH(p1.pr_info)=DATALENGTH(p2.pr_info)
( )
, 。 :
1、 : (=) , , 。
2、 : 。 >、>=、<=、<、!>、!< <>。
3、 : (=) , , 。 , authors publishers :
SELECT *
FROM authors AS a INNER JOIN publishers AS p
ON a.city=p.city
, authors publishers (city state):
SELECT a.*,p.pub_id,p.pub_name,p.country
FROM authors AS a INNER JOIN publishers AS p
ON a.city=p.city
( )
, ( WHERE HAVING ) 。 , , ( )、 ( ) ( ) 。 :
SELECT a.*,b.*
FROM luntan LEFT JOIN usertable as b
ON a.username=b.username
city user , :
SELECT a.*,b.*
FROM city as a FULL OUTER JOIN user as b
ON a.username=b.username
( ) WHERE , , 。 ,titles 6 , publishers 8 , 6*8=48 。
SELECT type,pub_name
FROM titles CROSS JOIN publishers
ORDER BY type
:
①SQL server : , , , 。。。。 , ; , 。。。。 ; , , , , ; , 11 , 12 , 12 11 , , 。
②SQL server : 。 。 : 。 , “ ” , , “ ” “an”, “a” “z” , “ ” 。 “a” , ; , “ ” , , “ ” “zhang”。 , , 。 “ ”。 , 。 , , , , “ ” , 。 “ ” “ ” , “ ” , “ ” 672 , “ ” “ ” , 63 ,“ ” “ ” , 390 。 , “ ” , “ 、 、 ” , 。 , , , 。