Labels

admin (1) aix (1) alert (1) always-on (2) Architecture (1) aws (3) Azure (1) backup (3) BI-DWH (10) Binary (3) Boolean (1) C# (1) cache (1) casting (3) cdc (1) certificate (1) checks (1) cloud (3) cluster (1) cmd (7) collation (1) columns (1) compilation (1) configurations (7) Connection-String (2) connections (6) constraint (6) copypaste (2) cpu (2) csv (3) CTE (1) data-types (1) datetime (23) db (547) DB2 (1) deadlock (2) Denali (7) device (6) dotNet (5) dynamicSQL (11) email (5) encoding (1) encryption (4) errors (124) excel (1) ExecutionPlan (10) extended events (1) files (7) FIPS (1) foreign key (1) fragmentation (1) functions (1) GCP (2) gMSA (2) google (2) HADR (1) hashing (3) in-memory (1) index (3) indexedViews (2) insert (3) install (10) IO (1) isql (6) javascript (1) jobs (11) join (2) LDAP (2) LinkedServers (8) Linux (15) log (6) login (1) maintenance (3) mariadb (1) memory (4) merge (3) monitoring (4) MSA (2) mssql (444) mssql2005 (5) mssql2008R2 (20) mssql2012 (2) mysql (36) MySQL Shell (5) network (1) NoSQL (1) null (2) numeric (9) object-oriented (1) offline (1) openssl (1) Operating System (4) oracle (7) ORDBMS (1) ordering (2) Outer Apply (1) Outlook (1) page (1) parameters (2) partition (1) password (1) Performance (103) permissions (10) pivot (3) PLE (1) port (4) PostgreSQL (14) profiler (1) RDS (3) read (1) Replication (12) restore (4) root (1) RPO (1) RTO (1) SAP ASE (48) SAP RS (20) SCC (4) scema (1) script (8) security (10) segment (1) server (1) service broker (2) services (4) settings (75) SQL (74) SSAS (1) SSIS (19) SSL (8) SSMS (4) SSRS (6) storage (1) String (35) sybase (57) telnet (2) tempdb (1) Theory (2) tips (120) tools (3) training (1) transaction (6) trigger (2) Tuple (2) TVP (1) unix (8) users (3) vb.net (4) versioning (1) windows (14) xml (10) XSD (1) zip (1)
Showing posts with label oracle. Show all posts
Showing posts with label oracle. Show all posts

SELECT without FROM clause

SELECT 'Test1' WHERE EXISTS (SELECT 1/0)
SELECT 'Test2' WHERE EXISTS (SELECT *)
Those 2 statements won't raise an Error in SQL SERVER!
Te results will be:
Test1
Test2
Of course that SELECT 1/0 or SELECT * will raise an Error.

In SQL SERVER the FROM clause is optional. 
This is why SELECT 1 , SELECT @P and SELECT @P=5 are permitted.
In other database systems (Like Oracle), SELECT statement without FROM clause is not permitted, and there is a dummy table "DUAL" with one row that is used to do such SELECT statements:
SELECT 1 FROM dual , SELECT @v FROM dual.

Another thing is that in EXISTS clause doesn't matter in terms of the syntax or result of the query.

Those 2 facts (SELECT without FROM is allowed and EXISTS doesn't matter in terms of the syntax) 
explains the behavior of the 2 statements above.

Paging in Oracle

select * 
from (select rownum,fld1,fld2,fld3... from bigtable where <<CONDITION>> ) 
where rownum between 1 to 100 -- or between 101 to 200, and so on....

Take answer even it NULL (Oracle)

where xxx = yyy (+)

Oracle DB export

exp full=y file=d1050338.dmp log=exp.log compress=n statistics=none consistent=y userid=system/pdsec@d1050338

exp full=n owner=super,pmx file=d1050338.dmp log=exp.log compress=n statistics=none consistent=y userid=system/pdsec@d1050338

Get NULLS first - Oracle

SELECT GENDER, TYPECAST, NAME FROM ACTOR
ORDER BY  TYPECAST NULLS FIRST

In Oracle, when sorting with "order by", NULL values are sorted last. By write "NULLS FIRST" - NULL will be sorted in the beginning.