当前位置:网站首页>SQL common syntax records

SQL common syntax records

2022-07-05 21:22:00 coder chen

with … as … select

  • Writing SQL when , For two already order by Statement of union When the failure , Later it was found in Oracle sql in , requirement order by yes select The last statement of the statement , And one select Only one... Is allowed in the statement order by sentence , and order by Must be located throughout select At the end of the sentence .
  • union The operation actually does two parts : Result set merge + Sort ,
  • union all Simply merge result sets , Do not sort , Efficient than union high
  • Therefore use with … as … select
with 
	s1 as (select  * from table1 t1  order by t1. c1 ),
   s2 as ( select  * from table1 t2  order by  t2.c1 )
 	select  *  from s1 union all ( Here can be replaced by  union ) select * from s2

Refer to this :https://www.icode9.com/content-2-602860.html

  • Yes with … as …select Explanation :

It's actually a lot of things that are used repeatedly sql Put the sentence in with as Inside , Take an alias , Later queries can use it , In this way, for large quantities of sql Statement plays an optimization role , And it's clear

with as Equivalent to virtual view

Refer to this :https://www.cnblogs.com/mingforyou/p/8295239.html

case when

  • CASE WHEN Conditional expression function : similar JAVA Medium IF ELSE sentence
CASE WHEN SCORE = 'A' THEN ' optimal '
     WHEN SCORE = 'B' THEN ' good '
     WHEN SCORE = 'C' THEN ' in ' ELSE ' fail, ' END

Refer to this article :https://blog.csdn.net/rongtaoup/article/details/82183743

group by ,where,having

group by ,where and having Can be used at the same time , But should pay attention to SQL Execution order of ,where>group by>having>select, Can't be in where Queries only after adding groups

https://deepinout.com/sql/sql-dql/sql-select-group-by.html

exists

sql recursive ?

sql Execution order

A complete sql The order of execution is :

  1. FROM Clause assembly data ( Including passage ON Connect );
  2. WHERE Clause ;
  3. GROUP BY grouping ;
  4. Using aggregate functions to calculate ;
  5. HAVING Filter groups ;
  6. Calculate all expressions ;
  7. SELECT Field of ;
  8. ORDER BY Sort ;
  9. LIMIT Screening

sql The two orders of :

Writing order

select … from … where … group by … having … order by …

Execution order

from>where>group by>having>select Field of >distinct>order by>limit

sql Perform principle analysis :https://deepinout.com/sql/sql-dql/sql-select-statement-execution-order.html

distinct explain

DISTINCT Need to precede all column names , If written SELECT name, DISTINCT attack_range FROM heros Will report a mistake .

DISTINCT In fact, it is to de duplicate the combination of all the following column names

not in Failure problem oracle

reason :not in There is null, Need to put null Get rid of

DBLink : It is mainly used for cross database connection query

https://help.aliyun.com/document_detail/99941.html

Use :

establish DBLink

CREATE PUBLIC DATABASE link dblink CONNECT TO user name IDENTIFIED BY password USING ‘ service ip/serviceName’;

Inquire about Current library Of dblink

select * from dba_db_links;

Delete the dblink

DROP PUBLIC DATABASE LINK name (dblink name );

Then pay attention to the cross database joint table Add @dblink name

update [email protected] A set A.user_ORGID =(select B.ORGID from ORG_EMPLOYEE B where B.EMPID=A.EMPID)

Condition query null value judgment

where Keyword followed by manager is not null perhaps manager is null

order by Chinese sort and null sort

https://deepinout.com/sql/sql-dql/sql-select-order-by.html

Common functions

nvl()

It is a null conversion function ,nvl( expression 1, expression 2), If the expression 1 The value of is empty ,nvl The return value is the expression 2 Value , Otherwise return the expression 1 Value .

The value of an expression can be numeric , Character type and date type ,DNA The data type must be consistent .

原网站

版权声明
本文为[coder chen]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/186/202207052121112380.html