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 。   ,             “ ”     ,         “ 、 、 ”                   ,                  。                   ,        ,         ,            。