User:Ashutoshd1999/sandbox

'''

Structured Query Language(SQL)
'''

TABLE FUNDAMENTALS
A table is database object that holds user data. The simplest analogy is think of a table as a spreadsheet. The cells of the spreadsheet equate to the columns of a table having a specific data type associated with them.

Database Tables
SQL implementations are incompatible between vendors and do not necessarily completely follow standards. In particular date and time syntax, string concatenation, NULLs, and comparison case sensitivity vary from vendor to vendor. Particular exceptions are PostgreSQL and Mimer SQL who strive for standards compliance.

Popular implementations of SQL commonly omit support for basic features of Standard SQL, such as the DATE or TIME data types. The most obvious such examples, and incidentally the most popular commercial and proprietary SQL DBMSs, are Oracle (whose DATE behaves as DATETIME,and lacks a TIME type)and MS SQL Server (before the 2008 version). As a result, SQL code can rarely be ported between database systems without modifications.

There are several reasons for this lack of portability between database systems:

The complexity and size of the SQL standard means that most implementors do not support the entire standard. The standard does not specify database behavior in several important areas (e.g. indexes, file storage...), leaving implementations to decide how to behave. The SQL standard precisely specifies the syntax that a conforming database system must implement. However, the standard's specification of the semantics of language constructs is less well-defined, leading to ambiguity. Many database vendors have large existing customer bases; where the newer version of the SQL standard conflicts with the prior behavior of the vendor's database, the vendor may be unwilling to break backward compatibility. There is little commercial incentive for vendors to make it easier for users to change database suppliers (see vendor lock-in). Users evaluating database software tend to place other factors such as performance higher in their priorities than standards conformance. SQL was adopted as a standard by the American National Standards Institute (ANSI) in 1986 as SQL-86 and the International Organization for Standardization (ISO) in 1987. It is maintained by ISO/IEC JTC 1, Information technology, Subcommittee SC 32, Data management and interchange. The standard is commonly denoted by the pattern: ISO/IEC 9075-n:yyyy Part n: title, or, as a shortcut, ISO/IEC 9075.

ISO/IEC 9075 is complemented by ISO/IEC 13249: SQL Multimedia and Application Packages (SQL/MM), which defines SQL based interfaces and packages to widely spread applications like video, audio and spatial data.