Knowledge (XXG)

Null (SQL)

Source 📝

4895:, respectively. Codd's recommendation, if accepted, would have required the implementation of a four-valued logic in SQL. Others have suggested adding additional Null-type markers to Codd's recommendation to indicate even more reasons that a data value might be "Missing", increasing the complexity of SQL's logic system. At various times, proposals have also been put forth to implement multiple user-defined Null markers in SQL. Because of the complexity of the Null-handling and logic systems required to support multiple Null markers, none of these proposals have gained widespread acceptance. 226:, and the special handling required by aggregate functions and SQL grouping operators. Computer science professor Ron van der Meyden summarized the various issues as: "The inconsistencies in the SQL standard mean that it is not possible to ascribe any intuitive logical semantics to the treatment of nulls in SQL." Although various proposals have been made for resolving these issues, the complexity of the alternatives has prevented their widespread adoption. 210:'Missing But Inapplicable', respectively. Codd's recommendation would have required SQL's logic system be expanded to accommodate a four-valued logic system. Because of this additional complexity, the idea of multiple Nulls with different definitions has not gained widespread acceptance in the database practitioners' domain. It remains an active field of research though, with numerous papers still being published. 4942: 4909:, have suggested that the SQL Null implementation is inherently flawed and should be eliminated altogether, pointing to inconsistencies and flaws in the implementation of SQL Null-handling (particularly in aggregate functions) as proof that the entire concept of Null is flawed and should be removed from the relational model. Others, like author 4656:, Null is used to represent all UNKNOWN results, including the UNKNOWN BOOLEAN. PostgreSQL does not implement the UNKNOWN literal (although it does implement the IS UNKNOWN operator, which is an orthogonal feature.) Most other major vendors do not support the Boolean type (as defined in T031) as of 2012. The procedural part of Oracle's 2678:
information. It's important to note here that semantics of UNION on Nulls, which are discussed in a later section, did not even come into play in this query. The "forgetful" nature of the two sub-queries was all that it took to guarantee that some sure information went unreported when the above query
1246:
translates to an iterated version of equality over the argument set and 1<>NULL is Unknown, just as a 1=NULL is Unknown. (The CAST in this example is needed only in some SQL implementations like PostgreSQL, which would reject it with a type checking error otherwise. In many systems plain SELECT
196:
of this article). Chamberlin also argued that besides providing some missing-value functionality, practical experience with Nulls also led to other language features which rely on Nulls, like certain grouping constructs and outer joins. Finally, he argued that in practice Nulls also end up being used
4673:
Misunderstanding of how Null works is the cause of a great number of errors in SQL code, both in ISO standard SQL statements and in the specific SQL dialects supported by real-world database management systems. These mistakes are usually the result of confusion between Null and either 0 (zero) or an
4641:
from other languages. Unrestricted however, the BOOLEAN datatype, despite its name, can hold the truth values TRUE, FALSE, and UNKNOWN, all of which are defined as Boolean literals according to the standard. The standard also asserts that NULL and UNKNOWN "may be used interchangeably to mean exactly
4929:
into it. The closed world assumption, as it pertains to databases, states that "Everything stated by the database, either explicitly or implicitly, is true; everything else is false." This view assumes that the knowledge of the world stored within a database is complete. Nulls, however, operate
3833:
This query will always output exactly one row, counting the number of employees whose last name contains "Jones", and giving the minimum and maximum wage found for those employees. However, what happens if none of the employees fit the given criteria? Calculating the minimum or maximum value of an
2930:
instead of a single NULL symbol. Such an approach, called v-tables or Naive tables, is computationally less expensive that the c-tables discussed above. However, it is still not a complete solution for incomplete information in the sense that v-tables are only a weak representation for queries not
2502:
information, i.e. information which can be certainly extracted from the database regardless of what values are used to replace Nulls in the database. In the example we considered above, it's easy to see that the intersection of all possible models (i.e. the sure information) of the query selecting
1773:
statement. However, the major SQL vendors have historically included their own proprietary procedural extensions. Procedural extensions for looping and comparisons operate under Null comparison rules similar to those for DML statements and queries. The following code fragment, in ISO SQL standard
259:
This can lead to unanticipated results. For instance, when an attempt is made to divide Null by zero, platforms may return Null instead of throwing an expected "data exception – division by zero". Though this behavior is not defined by the ISO SQL standard many DBMS vendors treat
209:
that the single Null mandated by the SQL standard was inadequate, and should be replaced by two separate Null-type markers to indicate the reason why data is missing. In Codd's book, these two Null-type markers are referred to as 'A-Values' and 'I-Values', representing 'Missing But Applicable' and
2909:
The intuition for what happens above is that the Codd tables representing the projections in the subqueries lose track of the fact that the Nulls in the columns F12.F2 and F23.F2 are actually copies of the originals in the table J. This observation suggests that a relatively simple improvement of
2518:
is actually empty because, for instance, the (unlifted) query returns no rows for the relation EmpH37. More generally, it was shown by Imielinski and Lipski that Codd tables are a weak representation system if the query language is restricted to projections, selections (and renaming of columns).
991:
if the column x contains any Nulls; in that case the second query would return some rows the first one does not return, namely all those in which x is Null. In classical two-valued logic, the law of the excluded middle would allow the simplification of the WHERE clause predicate, in fact its
3935:
clause discussed above). In Codd's 1979 proposal (which was basically adopted by SQL92) this semantic inconsistency is rationalized by arguing that removal of duplicates in set operations happens "at a lower level of detail than equality testing in the evaluation of retrieval operations."
187:
recognized nulls (alongside duplicate rows) as one of the most controversial features of SQL, he defended the design of Nulls in SQL invoking the pragmatic arguments that it was the least expensive form of system support for missing information, saving the programmer from many duplicative
3322:, including left outer joins, right outer joins, and full outer joins, automatically produce Nulls as placeholders for missing values in related tables. For left outer joins, for instance, Nulls are produced in place of rows missing from the table appearing on the right-hand side of the 2243:(The above has to hold for queries taking any number of tables as arguments, but the restriction to one table suffices for this discussion.) Clearly Codd tables do not have this strong property if selections and projections are considered as part of the query language. For example, 4747:
clause or conditional statement might compare a column's value with a constant. It is often incorrectly assumed that a missing value would be "less than" or "not equal to" a constant if that field contains Null, but, in fact, such expressions return Unknown. An example is below:
3876:
defines all Null markers as being unequal to one another, a special definition was required in order to group Nulls together when performing certain operations. SQL defines "any two values that are equal to one another, or any two Nulls", as "not distinct". This definition of
1900:
Constructs representing missing information, such as Codd tables, are actually intended to represent a set of relations, one for each possible instantiation of their parameters; in the case of Codd tables, this means replacement of Nulls with some concrete value. For example,
3971:
B-trees can handle equality and range queries on data that can be sorted into some ordering. In particular, the PostgreSQL query planner will consider using a B-tree index whenever an indexed column is involved in a comparison using one of these operators: < ≤ = ≥ >
745:
The SQL standard contains the optional feature F571 "Truth value tests" that introduces three additional logical unary operators (six in fact, if we count their negation, which is part of their syntax), also using postfix notation. They have the following truth tables:
4017:
Both of these indexing strategies are consistent with the SQL:2003-defined behavior of Nulls. Because indexing methodologies are not explicitly defined by the SQL:2003 standard, indexing strategies for Nulls are left entirely to the vendors to design and implement.
4012:
For indexing purposes, NULLs compare as equal. Therefore, a unique index, or UNIQUE constraint, cannot be created if the keys are NULL in more than one row. Select columns that are defined as NOT NULL when columns for a unique index or unique constraint are chosen.
2493: 3930:
operator, which does identify nulls with each other. Consequently, some set operations in SQL, like union or difference, may produce results not representing sure information, unlike operations involving explicit comparisons with NULL (e.g. those in a
2238: 396:
represent logical states)" The truth tables SQL uses for AND, OR, and NOT correspond to a common fragment of the Kleene and Łukasiewicz three-valued logic (which differ in their definition of implication, however SQL defines no such operation).
2974:
are True and Unknown.) This means that a check constraint will succeed if the result of the check is either True or Unknown. The following example table with a check constraint will prohibit any integer values from being inserted into column
3988:
When an index is declared unique, multiple table rows with equal indexed values will not be allowed. Nulls are not considered equal. A multicolumn unique index will only reject cases where all of the indexed columns are equal in two rows.
3246:
irrespective of how the table Authors is defined or what it contains. More precisely, a null in any of these fields would allow any value in the other one, even on that is not found in Authors table. For example, if Authors contained only
4819:
function, which returns the number of characters in a string. When a Null is passed into this function, the function returns Null. This can lead to unexpected results, if users are not well versed in 3-value logic. An example is below:
239:
Because Null is not a data value, but a marker for an absent value, using mathematical operators on Null gives an unknown result, which is represented by Null. In the following example, multiplying 10 by Null results in Null:
337:. Because of this, comparisons with Null can never result in either True or False, but always in a third logical result, Unknown. The logical result of the expression below, which compares the value 10 to Null, is Unknown: 201:
when it needs to evolve beyond its original intent, coding not for missing but rather for inapplicable information; for example, a database that quickly needs to support electric cars while having a miles-per-gallon column.
3296: 169:
circles, the original proposal of Codd (1975, 1979) is now referred to as "Codd tables". Codd later reinforced his requirement that all RDBMSs support Null to indicate missing data in a 1985 two-part article published in
3078:
always succeeds. Furthermore, assuming Nulls are to be interpreted as existing but unknown values, some pathological CHECKs like the one above allow insertion of Nulls that could never be replaced by any non-null value.
161:, although much of the other proposals from the latter paper have remained obscure. Section 2.3 of his 1979 paper details the semantics of Null propagation in arithmetic operations as well as comparisons employing a 4866:
This is complicated by the fact that in some database interface programs (or even database implementations like Oracle's), NULL is reported as an empty string, and empty strings may be incorrectly stored as NULL.
4693:
to find rows with Nulls. According to the SQL standard this is an invalid syntax and shall lead to an error message or an exception. But most implementations accept the syntax and evaluate such expressions to
2281:
should include the possibility that a relation like EmpH22 may exist. However, Codd tables cannot represent the disjunction "result with possibly 0 or 1 rows". A device, mostly of theoretical interest, called
314:
This is not true for all database implementations. In an Oracle RDBMS for example NULL and the empty string are considered the same thing and therefore 'Fish ' || NULL || 'Chips' results in 'Fish Chips'.
3975:
Constructs equivalent to combinations of these operators, such as BETWEEN and IN, can also be implemented with a B-tree index search. (But note that IS NULL is not equivalent to = and is not indexable.)
4507:
functions are supported by the RDBMS, SQL might not be able to automatically resolve to the correct function without knowing the data types of all parameters, including those for which Null is passed.
1315:
Joins evaluate using the same comparison rules as for WHERE clauses. Therefore, care must be taken when using nullable columns in SQL join criteria. In particular a table containing any nulls is
2356: 3951:
list, respectively. Not all DBMS vendors implement this functionality, however. Vendors who do not implement this functionality may specify different treatments for Null sorting in the DBMS.
4645:
The Boolean type has been subject of criticism, particularly because of the mandated behavior of the UNKNOWN literal, which is never equal to itself because of the identification with NULL.
3834:
empty set is impossible, so those results must be NULL, indicating there is no answer. This is not an Unknown value, it is a Null representing the absence of a value. The result would be:
652:
clause causes the DML statement to act on only those rows for which the predicate evaluates to True. Rows for which the predicate evaluates to either False or Unknown are not acted on by
4698:. The consequence is that no rows are found – regardless of whether rows with Nulls exist or not. The proposed way to retrieve rows with Nulls is the use of the predicate 2327:
where the condition column is interpreted as the row doesn't exist if the condition is false. It turns out that because the formulas in the condition column of a c-table can be arbitrary
6028: 2674:
Thus when unions are added to the query language, Codd tables are not even a weak representation system of missing information, meaning that queries over them don't even report all
676:
queries. Interpreting Unknown and False as the same logical result is a common error encountered while dealing with Nulls. The following simple example demonstrates this fallacy:
285:
operations, which are common in SQL, also result in Null when one of the operands is Null. The following example demonstrates the Null result returned by using Null with the SQL
192:) while at the same time providing the database designer with the option not to use Nulls if they so desire; for example, in order to avoid well known anomalies (discussed in the 101:. A null indicates a lack of a value, which is not the same thing as a zero value. For example, consider the question "How many books does Adam own?" The answer may be "zero" (we 2107: 381:
In this case, the fact that the value on the left of OR is unknowable is irrelevant, because the outcome of the OR operation would be True regardless of the value on the left.
857:, well before the Boolean datatype was introduced to the standard in 1999. The F571 feature is implemented by few systems however; PostgreSQL is one of those implementing it. 3939:
The SQL standard does not explicitly define a default sort order for Nulls. Instead, on conforming systems, Nulls can be sorted before or after all data values by using the
730:
Basic SQL comparison operators always return Unknown when comparing anything with Null, so the SQL standard provides for two special Null-specific comparison predicates. The
4960: 1349: 5968:
The Database Relational Model: A Retrospective Review and Analysis: A Historical Account and Assessment of E. F. Codd's Contribution to the Field of Database Technology
117:
reporting this answer would start out with no value (marked by null), and it would not be updated with the value zero until it is ascertained that Adam owns no books.
4879:, Codd suggested that the SQL implementation of Null was flawed and should be replaced by two distinct Null-type markers. The markers he proposed were to stand for 4930:
under the open world assumption, in which some items stored in the database are considered unknown, making the database's stored knowledge of the world incomplete.
1359:, a SQL self-join will exclude all rows having a Null anywhere. An example of this behavior is given in the section analyzing the missing-value semantics of Nulls. 2931:
using any negations in selection (and not using any set difference either). The first example considered in this section is using a negative selection clause,
260:
this operation similarly. For instance, the Oracle, PostgreSQL, MySQL Server, and Microsoft SQL Server platforms all return a Null result for the following:
6085:, Proceedings of the 6th Alberto Mendelzon International Workshop on Foundations of Data Management, Ouro Preto, Brazil, June 27–30, 2012. pp. 114–128 359:
However, certain operations on Null can return values if the absent value is not relevant to the outcome of the operation. Consider the following example:
1888:(1984) provided a framework in which to evaluate the intended semantics of various proposals to implement missing-value semantics, that is referred to as 1378:
predicates can be used in the join criteria as well. The following predicate tests for equality of the values A and B and treats Nulls as being equal.
6112: 3980:
In cases where the index enforces uniqueness, NULLs are excluded from the index and uniqueness is not enforced between NULLs. Again, quoting from the
4474:
the first non-NULL parameter could be a function, which could either be computationally expensive, invalid, or could create unexpected side effects.
3926:
The principle that Nulls aren't equal to each other (but rather that the result is Unknown) is effectively violated in the SQL specification for the
165:
logic when comparing to nulls; it also details the treatment of Nulls on other set operations (the latter issue still controversial today). In
1892:. This section roughly follows chapter 19 of the "Alice" textbook. A similar presentation appears in the review of Ron van der Meyden, §10.4. 5980: 5869: 5762: 5725: 5689: 5630: 5451: 5339: 5280: 5130: 5098: 5033: 6025: 2519:
However, as soon as we add either joins or unions to the query language, even this weak property is lost, as evidenced in the next section.
722:
statement to summarily discard each and every row. (However, in practice, some SQL tools will retrieve rows using a comparison with Null.)
153: 3658:
function, all aggregate functions perform a Null-elimination step, so that Nulls are not included in the final result of the calculation.
143: 5188: 2083:
is its lifting to a construct intended to represent missing information, a strong representation has the property that for any query
78:
support a representation of "missing information and inapplicable information". Codd also introduced the use of the lowercase Greek
2686:, the example needed to show that sure information may be unreported by some query is slightly more complicated. Consider the table 1852:
statement performs actions only for those comparisons that evaluate to True. For statements that evaluate to False or Unknown, the
4503:. Because of this, it is sometimes mandatory (or desirable) to explicitly convert Nulls to a specific data type. For instance, if 4913:, have stated a belief that "how the function calculation should treat missing values is not governed by the relational model." 4618:
predicate, which can be used to test whether a three-value logical outcome is Unknown, although this is merely syntactic sugar.
31: 6480: 4550:
The actual typing of Unknown (distinct or not from NULL itself) varies between SQL implementations. For example, the following
151:. Codd's paper that is most commonly cited in relation with the semantics of Null (as adopted in SQL) is his 1979 paper in the 849:
in SQL (discussed later in this article) and, despite syntactic similarities, F571 does not introduce Boolean or three-valued
4496: 2066: 2061:
system (of missing information) if any answer to a query made on the construct can be particularized to obtain an answer for
911:
is unknown and true otherwise. Because direct comparisons with Null result in the unknown logical value, the following query
850: 4682:, however. While Null indicates the absence of any value, the empty string and numerical zero both represent actual values. 2488:{\displaystyle \bigcap \mathop {\mathrm {Models} } ({\bar {q}}(T))=\bigcap \{q(R)\,|R\in \mathop {\mathrm {Models} } (T)\}} 6144: 5886: 3888:
Other SQL operations, clauses, and keywords use "not distinct" in their treatment of Nulls. These include the following:
1889: 3326:
operator. The following simple example uses two tables to demonstrate Null placeholder production in a left outer join.
4805: 5890: 4947: 3661:
Note that the elimination of Null is not equivalent to replacing Null with zero. For example, in the following table,
2970:
clause must evaluate to True for a row, a check constraint must not evaluate to False. (From a logic perspective, the
875:
Unknown and test those arguments with IS NULL or other NULL-specific functions, although this may be more cumbersome.
4660:
however supports BOOLEAN variables; these can also be assigned NULL and the value is considered the same as UNKNOWN.
4630:
standard introduced the BOOLEAN data type to SQL, however it's still just an optional, non-core feature, coded T031.
4970: 643: 91: 6098: 5265:
Semantics in Databases. Second International Workshop Dagstuhl Castle, Germany, January 7–12, 2001. Revised Papers
4985: 4614:
regards TRUE and FALSE as no different from the ordinary integers 1 and 0). PostgreSQL additionally implements a
1864: 1858: 1769: 1444: 158: 125: 3557:
generated by this query demonstrates how SQL uses Null as a placeholder for values missing from the right-hand (
2962:. A check constraint placed on a column operates under a slightly different set of rules than those for the DML 1087:
Thus, to correctly simplify the first statement in SQL requires that we return all rows in which x is not null.
6593: 6557: 6541: 2955: 860:
The addition of IS UNKNOWN to the other operators of SQL's three-valued logic makes the SQL three-valued logic
4303:
function accepts two parameters. It returns the first non-NULL parameter or NULL if all parameters are NULL.
2979:, but will allow Null to be inserted since the result of the check will always evaluate to Unknown for Nulls. 120:
In SQL, null is a marker, not a value. This usage is quite different from most programming languages, where a
4922: 864:, meaning its logical operators can express (in combination) any conceivable three-valued logical function. 739: 2233:{\displaystyle \mathop {\mathrm {Models} } ({\bar {q}}(T))=\{q(R)\,|R\in \mathop {\mathrm {Models} } (T)\}} 5931: 5778:
Arenhart, Krause (2012), "Classical Logic or Non-Reflexive Logic? A case of Semantic Underdetermination",
5238: 1764: 1145: 884: 2338:
A weaker notion of representation is therefore desirable. Imielinski and Lipski introduced the notion of
6588: 6320: 5836: 4926: 1151:
There are some SQL expressions in which it is less obvious where the false dilemma occurs, for example:
861: 189: 4678:). Null is defined by the SQL standard as different from both an empty string and the numerical value 2350:" instantiations (models) of the construct. Concretely, a construct is a weak representation system if 2283: 2971: 6348: 5918:
E. F. Codd. Understanding relations (installment #7). FDT Bulletin of ACM-SIGMOD, 7(3-4):23–28, 1975.
5549: 5431: 5381: 4504: 4499:
is untyped in SQL, meaning that it is not designated as an integer, character, or any other specific
4293: 4005: 3311: 1881: 6412: 6118:
Java bug report about jdbc not distinguishing null and empty string, which Sun closed as "not a bug"
5936: 5527: 6521: 6473: 6407: 6391: 2328: 1128:
similar to the law of excluded middle can be written. Assuming the IS UNKNOWN operator is present,
73: 6039: 1322: 6227: 6013: 5949: 5795: 5409: 5390: 4965: 4875:
The ISO SQL implementation of Null is the subject of criticism, debate and calls for change. In
4599: 3651: 2342:, which essentially allows (lifted) queries over a construct to return a representation only for 2331:
formulas, an algorithm for the problem whether a c-table represents some concrete relation has a
2074: 1356: 324: 219: 6046: 5612: 4975: 6117: 5622: 5616: 3730:
is 150 (the average of 150, 200, 250, and 0). A well-known side effect of this is that in SQL
6137: 5976: 5865: 5758: 5721: 5715: 5685: 5651: 5626: 5447: 5335: 5329: 5276: 5126: 5094: 5037: 5029: 5021: 3306:
query with Null placeholders in the result set. The Null markers are represented by the word
2919: 1125: 992:
elimination. Attempting to apply the law of the excluded middle to SQL's 3VL is effectively a
114: 5679: 5471: 5088: 179:
The 1986 SQL standard basically adopted Codd's proposal after an implementation prototype in
6177: 6172: 6070: 6003: 5941: 5787: 5399: 5268: 4980: 3338: 3091: 2959: 1454:
expressions use implicit equality comparisons which operate under the same rules as the DML
1440: 384:
SQL implements three logical results, so SQL implementations must provide for a specialized
137: 63: 4054:
function accepts two parameters. If the first parameter is equal to the second parameter,
6567: 6102: 6032: 5664: 5427: 4789: 2915: 334: 198: 166: 83: 39: 5571: 4137:
function accepts a list of parameters, returning the first non-Null value from the list:
710:
The example query above logically always returns zero rows because the comparison of the
1681:
which can be used instead of the simple CASE expressions and considers two nulls equal.
218:
Null has been the focus of controversy and a source of debate because of its associated
6501: 6466: 6341: 6271: 5922:
Codd, E. F. (1979). "Extending the database relational model to capture more meaning".
5440: 2347: 2332: 184: 5991: 5741: 4451:
A use case of this function is to replace in an expression a NULL by a value like in
1748:
Finally, all these constructs return a NULL if no match is found; they have a default
867:
On systems which don't support the F571 feature, it is possible to emulate IS UNKNOWN
333:, it is not considered a "value", but rather a marker (or placeholder) indicating the 6582: 6562: 6511: 6386: 6327: 5966: 5260: 5069: 5052: 4910: 4487: 2946:, so it is also an example where v-tables queries would not report sure information. 2596:
age of Harriet, the above query will return the full column of names of any model of
1885: 993: 385: 282: 172: 162: 6017: 5953: 4470:
evaluates all of its parameters. This is important for several reasons. A parameter
6536: 6526: 6437: 6355: 6334: 6285: 6278: 6257: 6250: 6130: 5435: 5189:"Handle empty strings when migrating from Oracle to PostgreSQL | AWS Database Blog" 4638: 4274: 4262: 2683: 672: 666: 660: 654: 180: 121: 6074: 5791: 5413: 6506: 6362: 6299: 6236: 5972: 5122: 4941: 4902: 4598:) which unify a NULL Boolean with Unknown but fails to parse in others (e.g. in 4483: 3133: 648: 330: 5894: 4792:
is restricted in SQL's logic. When dealing with equality comparisons using the
3912:
operator, which treat NULLs as the same for row comparison/elimination purposes
3447:
The following sample SQL query performs a left outer join on these two tables.
3062:
clause, from a logic perspective the law of excluded middle is a tautology for
6516: 6369: 6292: 6264: 6243: 4995: 4937: 4898: 4649: 4607: 4595: 4035: 3981: 3960: 3554: 3319: 3303: 1466:
cannot check for the existence of Null directly. A check for Null in a simple
1443:. The other is called a "searched CASE" in the standard, and operates like an 1436: 1370:
expressions can be used to "simulate" Null equality in join criteria, and the
223: 67: 388:. The rules governing SQL three-valued logic are shown in the tables below ( 58:
is a special marker used to indicate that a data value does not exist in the
6490: 5962: 5272: 4500: 6095: 6026:
Nulls, Three-Valued Logic, and Ambiguity in SQL: Critiquing Date's Critique
3136:
succeed if any of the fields in such keys are Null. For example, the table
136:
E. F. Codd mentioned nulls as a method of representing missing data in the
6008: 5945: 4674:
empty string (a string value with a length of zero, represented in SQL as
3745:
The output of an aggregate function can also be Null. Here is an example:
6313: 6217: 6212: 6207: 6202: 6197: 6192: 6187: 4627: 3994: 3873: 3259:
added two extra options for narrowing down the matches in such cases. If
59: 6082: 5799: 4466:
evaluates its parameters until it reaches the first non-NULL one, while
4058:
returns Null. Otherwise, the value of the first parameter is returned.
17: 6447: 6442: 6432: 6427: 6422: 6417: 5267:. Lecture Notes in Computer Science. Vol. 2582. pp. 119–138. 3654:
to simplify server-side aggregate calculations on data. Except for the
3295: 1760: 5404: 5385: 5050:
Codd, E.F. (October 14, 1985). "Is Your Database Really Relational?".
4815:
Similarly, Nulls are often confused with empty strings. Consider the
4269:
function, or other similar functions that are functionally similar to
2954:
The primary place in which SQL three-valued logic intersects with SQL
2065:
corresponding query on the relations it represents, which are seen as
6458: 6182: 6167: 5040:(note: page numbering differs in preprint from the published version) 4657: 4591: 4519: 3964: 3256: 2910:
Codd tables (which works correctly for this example) would be to use
1570:
in its conditions. The following example shows how to use a searched
147: 6107: 6058: 5814: 4921:
Another point of conflict concerning Nulls is that they violate the
3959:
Some SQL products do not index keys containing NULLs. For instance,
3868:
When two nulls are equal: grouping, sorting, and some set operations
3242:
would allow insertion of rows where author_last or author_first are
5067:
Codd, E.F. (October 21, 1985). "Does Your DBMS Run By The Rules?".
4462:
There is, however, one notable exception. In most implementations,
714:
column with Null always returns Unknown, even for those rows where
30: 6050: 5261:"Null Values in Relational Databases and Sure Information Answers" 4990: 4611: 4603: 3333:) contains employee ID numbers and names, while the second table ( 3294: 1247:
NULL works in the subquery.) The missing case above is of course:
854: 646:(DML) in comparison predicates of DML statements and queries. The 79: 35: 29: 1868:
clause. The result of the code above will always be the message
6462: 6126: 6053:
International Journal of Computer Science 35.3 (2008): 305-313.
4004:
in accordance with the SQL:2003-defined behavior. For example,
3267:
declaration then any non-null must match the foreign key, e.g.
2523:
If joins or unions are considered: not even weak representation
27:
Marker used in SQL databases to indicate a value does not exist
6153: 5992:"How to modify SQL queries in order to guarantee sure answers" 4955: 4653: 4257:
Some SQL DBMSs implement vendor-specific functions similar to
3300: 3086:
constraint can be applied, as shown in the example below. The
47: 4590:
parses and executes successfully in some environments (e.g.
3963:
versions prior to 8.3 did not, with the documentation for a
3885:
clause (and other keywords that perform grouping) are used.
1872:
since the comparisons with Null always evaluate to Unknown.
1124:
In view of the above, observe that for SQL's WHERE clause a
871:
by going over every argument that could make the expression
4514:
literal to a Null of a specific type is possible using the
4000:
Another method of indexing Nulls involves handling them as
3058:
Because of the change in designated values relative to the
1470:
expression always results in Unknown, as in the following:
4685:
A classic error is the attempt to use the equals operator
853:
in the language. The F571 feature was actually present in
5681:
SQL and Relational Theory: How to Write Accurate SQL Code
1319:
with a natural self-join of itself, meaning that whereas
98: 6443:
SQL Routines and Types for the Java Programming Language
4877:
The Relational Model for Database Management: Version 2
207:
The Relational Model for Database Management, Version 2
6122: 5862:
Database in Depth: Relational Theory for Practitioners
5618:
SQL:1999: Understanding Relational Language Components
5144: 5142: 5022:
Logical approaches to incomplete information: a survey
4026:
SQL defines two functions to explicitly handle Nulls:
2604:
itself, Harriet will always be missing, i.e. we have:
2527:
Consider the following query over the same Codd table
845:
The F571 feature is orthogonal to the presence of the
319:
Comparisons with NULL and the three-valued logic (3VL)
6063:
Frontiers in Artificial Intelligence and Applications
5214: 2359: 2110: 1677:
Oracle's dialect of SQL provides a built-in function
1325: 70:, SQL null serves to fulfil the requirement that all 3082:
In order to constrain a column to reject Nulls, the
726:
Null-specific and 3VL-specific comparison predicates
6400: 6379: 6226: 6160: 6047:
Null semantics for subqueries and atomic predicates
3310:in place of data in the results. Results are from 3284: 3280: 3272: 3268: 3252: 3248: 2932: 2504: 2286:(or c-table) can however represent such an answer: 2057:A construct (such as a Codd table) is said to be a 6069:(Information Modelling and Knowledge Bases XXII). 5439: 4861:-- Rows where string is NULL will not be returned. 2487: 2232: 1896:In selections and projections: weak representation 1439:. One is called "simple CASE" and operates like a 1343: 5550:"PostgreSQL 8.0.14 Documentation: Unique Indexes" 5465: 5463: 3726:is 200 (the average of 150, 200, and 250), while 2592:Whatever concrete value one would choose for the 2498:The right-hand side of the above equation is the 1547:evaluates to Unknown no matter what value column 6042:. SIGMOD Record, September 2008 (Vol. 37, No. 3) 5893:, San Francisco Bay Area Chapter. Archived from 5386:"Incomplete information in relational databases" 5112: 5110: 5082: 5080: 4925:model of relational databases by introducing an 1551:contains (even if it contains Null), the string 996:. The second query is actually equivalent with: 6057:Bernhard Thalheim; Klaus-Dieter Schewe (2011). 6035:, SIGMOD Record, December 2007 (Vol. 36, No. 4) 5717:Introduction to Databases With Web Applications 4780:-- Rows where num is NULL will not be returned, 4310:expression can be converted into an equivalent 4010: 3986: 3969: 3895:clause of ranking and windowing functions like 2335:complexity, thus is of little practical worth. 1774:format, demonstrates the use of Null 3VL in an 742:syntax) test whether data is, or is not, Null. 124:of a reference means it is not pointing to any 6045:Waraporn, Narongrit, and Kriengkrai Porkaew. " 5646:"ISO/IEC 9075-1:1999 SQL Standard". ISO. 1999. 5528:"PostgreSQL 8.0.14 Documentation: Index Types" 4610:in this regard (with the minor exception that 4174:is defined as shorthand for the following SQL 3997:-defined behavior of scalar Null comparisons. 1306:Effect of Null and Unknown in other constructs 899:. More precisely, in SQL's three-valued logic 97:A null should not be confused with a value of 6474: 6138: 5328:Jim Melton; Jim Melton Alan R. Simon (1993). 879:Law of the excluded fourth (in WHERE clauses) 72:true relational database management systems ( 8: 5232: 5230: 5119:The Relational Model for Database Management 5026:Logics for Databases and Information Systems 4783:-- contrary to many users' expectations. 4547:represents an absent value of type INTEGER. 3881:allows SQL to group and sort Nulls when the 3669:) will give a different result from that of 2482: 2421: 2227: 2166: 1876:Analysis of SQL Null missing-value semantics 193: 113:how many he owns). In a database table, the 6113:Implications of NULLs in sequencing of data 5331:Understanding The New SQL: A Complete Guide 4804:as the result of the expression. This is a 4637:constraint, the SQL BOOLEAN works like the 3337:) contains related employee ID numbers and 3314:, as shown in SQL Server Management Studio. 3283:would not match the constraint either, but 3090:constraint is semantically equivalent to a 222:(3VL), special requirements for its use in 6481: 6467: 6459: 6145: 6131: 6123: 5742:Survey of BOOLEAN data type implementation 5090:A Complete Guide to DB2 Universal Database 4738:-- Should be "WHERE num IS NULL" 4292:"NVL" redirects here. For other uses, see 3255:would satisfy the foreign key constraint. 6007: 5935: 5720:. Pearson Education Canada. p. 197. 5403: 5024:" in Chomicki, Jan; Saake, Gunter (Eds.) 4743:In a related, but more subtle example, a 2449: 2448: 2437: 2436: 2392: 2391: 2364: 2363: 2358: 2346:information, i.e. if it's valid for all " 2194: 2193: 2182: 2181: 2140: 2139: 2112: 2111: 2109: 1324: 642:SQL three-valued logic is encountered in 5757:. O'Reilly Media, Inc. pp. 74, 91. 5254: 5252: 5016: 5014: 5012: 5010: 3836: 3675: 3563: 3411: 3347: 2868: 2843: 2688: 2645: 2617: 2600:, but when the (lifted) query is run on 2288: 1996: 1955: 1912: 1763:(SQL Persistent Stored Modules) defines 1140:IS UNKNOWN) is true for every predicate 748: 718:is Null. The Unknown result causes the 595: 399: 5887:"Abstract: The Closed World Assumption" 5753:Steven Feuerstein; Bill Pribyl (2009). 5356:Relational database writings, 1991-1994 5006: 4459:is NULL, replace it with the value 0'. 4034:. Both functions are abbreviations for 1603:-- This will be returned when i is NULL 1574:expression to properly check for Null: 1437:two flavours of conditional expressions 38:character is used to represent Null in 5660: 5649: 1756:IF statements in procedural extensions 895:, no longer evaluates to true for all 846: 6081:Enrico Franconi and Sergio Tessaris, 5595:ISO/IEC 9075-2:2003, "SQL/Foundation" 5510:ISO/IEC 9075-2:2003, "SQL/Foundation" 5491:ISO/IEC 9075-2:2003, "SQL/Foundation" 5334:. Morgan Kaufmann. pp. 145–147. 5298:ISO/IEC 9075-2:2003, "SQL/Foundation" 5171:ISO/IEC 9075-2:2003, "SQL/Foundation" 5151:ISO/IEC 9075-2:2003, "SQL/Foundation" 4991:Relational database management system 4087:is an abbreviation for the following 3132:By default check constraints against 2069:of the construct. More precisely, if 1016:-- is (because of 3VL) equivalent to: 670:DML statements, and are discarded by 7: 5924:ACM Transactions on Database Systems 5470:Coles, Michael (February 26, 2007). 5371:, 8th ed., Pearson Education, p. 584 5318:, 8th ed., Pearson Education, p. 594 5216:ISO/IEC 9075-1:2003, "SQL/Framework" 4800:truth-value, SQL will always return 4008:documentation states the following: 2101:the answers to the construct, i.e.: 197:as a quick way to patch an existing 154:ACM Transactions on Database Systems 5864:. O'Reilly Media, Inc. p. 73. 5684:. O'Reilly Media, Inc. p. 83. 5369:An introduction to database systems 5316:An introduction to database systems 5093:. Morgan Kaufmann. pp. 28–32. 4788:These confusions arise because the 1645:-- This will be returned when i = 1 1624:-- This will be returned when i = 0 1562:expression can use predicates like 1526:-- This will be returned when i = 1 1511:-- This will be returned when i = 0 62:. Introduced by the creator of the 6438:Information and Definition Schemas 6059:"NULL 'Value' Algebras and Logics" 2950:Check constraints and foreign keys 2465: 2462: 2459: 2456: 2453: 2450: 2380: 2377: 2374: 2371: 2368: 2365: 2210: 2207: 2204: 2201: 2198: 2195: 2128: 2125: 2122: 2119: 2116: 2113: 1670:is returned for all rows in which 1144:. Among logicians, this is called 638:Effect of Unknown in WHERE clauses 329:Since Null is not a member of any 157:, in which he also introduced his 25: 5123:Addison Wesley Publishing Company 2836: 2606: 5237:Coles, Michael (June 27, 2005). 4940: 4689:in combination with the keyword 2865:Query result on any model of J: 1856:statement passes control to the 1767:extensions for SQL, such as the 1558:On the other hand, a "searched" 883:In SQL's three-valued logic the 205:Codd indicated in his 1990 book 82:(ω) symbol to represent null in 5780:Revista Portuguesa de Filosofia 4478:Data typing of Null and Unknown 3249:('Doe', 'John') 2679:was run on the Codd table Emp. 1458:clause rules for Null. Thus, a 289:string concatenation operator. 5358:, Addison-Wesley, 1995, p. 371 4808:and makes SQL an example of a 3665:(the average of the values of 2479: 2473: 2438: 2433: 2427: 2412: 2409: 2403: 2397: 2388: 2224: 2218: 2183: 2178: 2172: 2160: 2157: 2151: 2145: 2136: 1496:-- This will never be returned 969:is not equivalent in SQL with 188:application-level checks (see 94:used to identify this marker. 1: 6075:10.3233/978-1-60750-690-4-354 5028:, Kluwer Academic Publishers 2838: 2638:Query result on any model of 2608: 2077:(of "pure" relations) and if 5990:Klein, Hans-Joachim (1994). 5574:. PostfreSQL. September 2007 5512:. ISO/IEC. Section 3.1.6.8: 4806:partial equivalence relation 4284:functions in Transact-SQL.) 3993:This is consistent with the 1344:{\displaystyle R\bowtie R=R} 6428:Management of External Data 5891:Data Management Association 5792:10.17990/RPF/2012_68_1_0073 5621:. Morgan Kaufmann. p.  5493:. ISO/IEC. Section 4.15.4: 4948:Computer programming portal 4648:As discussed above, in the 2531:from the previous section: 2043:may represent the relation 1880:The groundbreaking work of 1862:clause, and finally to the 1840:'Result is Unknown' 6610: 6448:XML-Related Specifications 5813:Darwen, Hugh; Chris Date. 5219:. ISO/IEC. Section 4.4.2: 5173:. ISO/IEC. Section 6.2.8: 5153:. ISO/IEC. Section 6.2.6: 4971:Data manipulation language 4885:"Missing but Inapplicable" 4481: 4291: 3410: 3346: 2073:is a query formula in the 1890:Imieliński-Lipski Algebras 907:is unknown precisely when 885:law of the excluded middle 644:Data Manipulation Language 322: 6550: 6497: 6423:Persistent Stored Modules 6083:On the Logic of SQL Nulls 5755:Oracle PL/SQL Programming 5597:. ISO/IEC. Section 6.11: 5572:"Creating Unique Indexes" 5384:; Lipski Jr., W. (1984). 5259:Hans-Joachim, K. (2003). 5155:numeric value expressions 4986:Relational Model/Tasmania 3955:Effect on index operation 3561:) table, as shown below. 1831:'Result is False' 1351:is true for any relation 1242:produces no rows because 159:Relational Model/Tasmania 6558:Null coalescing operator 6542:Null coalescing operator 6433:Object Language Bindings 5860:Date, Chris (May 2005). 5714:Martyn Prigmore (2007). 5704:ISO/IEC 9075-2:2011 §4.5 5615:; Alan R. Simon (2002). 5442:Foundations of Databases 5300:. ISO/IEC. Section 8.7: 4881:"Missing but Applicable" 4822: 4750: 4708: 4552: 4524: 4356: 4316: 4180: 4139: 4093: 4060: 3747: 3449: 3138: 3100: 2981: 2958:(DDL) is in the form of 2956:Data Definition Language 2748: 2533: 2249: 1801:'Result is True' 1780: 1683: 1576: 1555:will never be returned. 1472: 1380: 1249: 1153: 1089: 998: 971: 913: 738:predicates (which use a 678: 386:three-valued logic (3VL) 361: 339: 291: 262: 242: 5273:10.1007/3-540-36596-6_7 5175:string value expression 5087:Don Chamberlin (1998). 4923:closed-world assumption 4917:Closed-world assumption 4022:Null-handling functions 3734:is equivalent with not 3281:('Smith', NULL) 3275:would not. Finally, if 3273:('Smith', NULL) 3271:would still match, but 3253:('Smith', NULL) 1666:expression, the string 1543:Because the expression 140:in a 1975 paper in the 5973:Addison Wesley Longman 5239:"Four Rules for Nulls" 5121:(Version 2 ed.). 4961:NULLs in: Wikibook SQL 4261:. Some systems (e.g. 4015: 3991: 3978: 3315: 3287:would still match it. 2489: 2234: 2087:and (table) construct 1345: 1146:law of excluded fourth 163:ternary (three-valued) 43: 6009:10.1145/187436.187445 5946:10.1145/320107.320109 5815:"The Third Manifesto" 5514:Definitions: distinct 5020:Ron van der Meyden, " 4927:open-world assumption 4633:When restricted by a 4606:behaves similarly to 3298: 3269:('Doe', NULL) 3066:constraints, meaning 2490: 2235: 2059:strong representation 1707:'Null Result' 1600:'Null Result' 1346: 862:functionally complete 354:-- Results in Unknown 323:Further information: 235:Arithmetic operations 190:semipredicate problem 33: 6418:Call-Level Interface 5478:. Red Gate Software. 5245:. Red Gate Software. 4510:Conversion from the 4294:NVL (disambiguation) 4006:Microsoft SQL Server 3312:Microsoft SQL Server 2966:clause. While a DML 2357: 2108: 1323: 277:String concatenation 34:The Greek lowercase 6522:Null object pattern 6392:Relational database 6108:The Third Manifesto 5495:Aggregate functions 5472:"Null Versus Null?" 5117:Codd, E.F. (1990). 4907:The Third Manifesto 4810:Non-Reflexive logic 3967:index stating that 3652:aggregate functions 3646:Aggregate functions 3566: 3414: 3350: 3263:is added after the 2840:Query result on J: 2693: 2340:weak representation 2329:propositional logic 2293: 2001: 1960: 1917: 1870:'Result is Unknown' 6101:2013-04-12 at the 6040:Null Values in SQL 6031:2016-03-05 at the 5476:SQL Server Central 5446:. Addison-Wesley. 5391:Journal of the ACM 5367:C.J. Date (2004), 5314:C.J. Date (2004), 5243:SQL Server Central 4966:Three-valued logic 4652:implementation of 4600:SQL Server Compact 3564: 3412: 3348: 3341:, as shown below. 3316: 2920:constant functions 2689: 2485: 2289: 2230: 2075:relational algebra 1997: 1956: 1913: 1357:relational algebra 1341: 376:-- Results in True 325:Three-valued logic 220:three-valued logic 44: 6576: 6575: 6456: 6455: 6401:ISO/IEC SQL parts 6024:Claude Rubinson, 5996:ACM SIGMOD Record 5982:978-0-201-61294-3 5871:978-0-596-10012-4 5764:978-0-596-51446-4 5727:978-0-321-26359-9 5691:978-1-4493-1640-2 5659:Missing or empty 5632:978-1-55860-456-8 5453:978-0-201-53771-0 5405:10.1145/1634.1886 5341:978-1-55860-245-8 5282:978-3-540-00957-3 5132:978-0-201-14192-4 5100:978-1-55860-482-7 5034:978-0-7923-8129-7 4642:the same thing". 4622:BOOLEAN data type 4314:expression thus: 3865: 3864: 3825:'%Jones%' 3720: 3719: 3643: 3642: 3445: 3444: 3441: 3440: 3408: 3407: 3329:The first table ( 2972:designated values 2960:check constraints 2907: 2906: 2903: 2902: 2862: 2861: 2744: 2743: 2672: 2671: 2668: 2667: 2635: 2634: 2400: 2325: 2324: 2284:conditional table 2148: 2036: 2035: 1995: 1994: 1954: 1953: 1508:'Is Zero' 1493:'Is Null' 843: 842: 770:p IS NOT UNKNOWN 635: 634: 594: 593: 309:-- Result is NULL 254:-- Result is NULL 194:semantics section 16:(Redirected from 6601: 6483: 6476: 6469: 6460: 6372: 6365: 6358: 6351: 6344: 6337: 6330: 6323: 6316: 6309: 6302: 6295: 6288: 6281: 6274: 6267: 6260: 6253: 6246: 6239: 6147: 6140: 6133: 6124: 6078: 6021: 6011: 5986: 5958:Especially §2.3. 5957: 5939: 5907: 5906: 5904: 5902: 5882: 5876: 5875: 5857: 5851: 5850: 5848: 5846: 5841: 5837:"The Askew Wall" 5832: 5826: 5825: 5823: 5821: 5810: 5804: 5802: 5775: 5769: 5768: 5750: 5744: 5738: 5732: 5731: 5711: 5705: 5702: 5696: 5695: 5678:C. Date (2011). 5675: 5669: 5668: 5662: 5657: 5655: 5647: 5643: 5637: 5636: 5609: 5603: 5602: 5593:ISO/IEC (2003). 5590: 5584: 5583: 5581: 5579: 5568: 5562: 5561: 5559: 5557: 5546: 5540: 5539: 5537: 5535: 5524: 5518: 5517: 5508:ISO/IEC (2003). 5505: 5499: 5498: 5489:ISO/IEC (2003). 5486: 5480: 5479: 5467: 5458: 5457: 5445: 5432:Hull, Richard B. 5428:Abiteboul, Serge 5424: 5418: 5417: 5407: 5378: 5372: 5365: 5359: 5352: 5346: 5345: 5325: 5319: 5312: 5306: 5305: 5296:ISO/IEC (2003). 5293: 5287: 5286: 5256: 5247: 5246: 5234: 5225: 5224: 5213:ISO/IEC (2003). 5210: 5204: 5203: 5201: 5200: 5185: 5179: 5178: 5169:ISO/IEC (2003). 5166: 5160: 5158: 5149:ISO/IEC (2003). 5146: 5137: 5136: 5114: 5105: 5104: 5084: 5075: 5074: 5064: 5058: 5057: 5047: 5041: 5018: 4981:Check constraint 4950: 4945: 4944: 4862: 4859: 4856: 4853: 4850: 4847: 4844: 4841: 4838: 4835: 4832: 4829: 4826: 4818: 4803: 4799: 4795: 4784: 4781: 4778: 4775: 4772: 4769: 4766: 4763: 4760: 4757: 4754: 4746: 4739: 4736: 4733: 4730: 4727: 4724: 4721: 4718: 4715: 4712: 4705: 4701: 4697: 4692: 4688: 4681: 4677: 4636: 4617: 4586: 4583: 4580: 4577: 4574: 4571: 4568: 4565: 4562: 4559: 4556: 4543: 4540: 4537: 4534: 4531: 4528: 4517: 4513: 4495: 4469: 4465: 4458: 4455:which says, 'if 4454: 4447: 4444: 4441: 4438: 4435: 4432: 4429: 4426: 4423: 4420: 4417: 4414: 4411: 4408: 4405: 4402: 4399: 4396: 4393: 4390: 4387: 4384: 4381: 4378: 4375: 4372: 4369: 4366: 4363: 4360: 4350: 4347: 4344: 4341: 4338: 4335: 4332: 4329: 4326: 4323: 4320: 4313: 4309: 4302: 4283: 4280:for more on the 4277: 4272: 4268: 4260: 4253: 4250: 4247: 4244: 4241: 4238: 4235: 4232: 4229: 4226: 4223: 4220: 4217: 4214: 4211: 4208: 4205: 4202: 4199: 4196: 4193: 4190: 4187: 4184: 4177: 4173: 4167: 4164: 4161: 4158: 4155: 4152: 4149: 4146: 4143: 4136: 4124: 4121: 4118: 4115: 4112: 4109: 4106: 4103: 4100: 4097: 4090: 4086: 4079: 4076: 4073: 4070: 4067: 4064: 4057: 4053: 4039: 4033: 4029: 3950: 3946: 3942: 3934: 3929: 3921: 3918:keyword used in 3917: 3911: 3907: 3903: 3898: 3894: 3884: 3861: 3856: 3837: 3829: 3826: 3823: 3820: 3817: 3814: 3811: 3808: 3805: 3802: 3799: 3796: 3793: 3790: 3787: 3784: 3781: 3778: 3775: 3772: 3769: 3766: 3763: 3760: 3757: 3754: 3751: 3741: 3737: 3733: 3729: 3725: 3713: 3676: 3672: 3668: 3664: 3657: 3639: 3609: 3567: 3549: 3546: 3543: 3540: 3537: 3534: 3531: 3528: 3525: 3522: 3519: 3516: 3513: 3510: 3507: 3504: 3501: 3498: 3495: 3492: 3489: 3486: 3483: 3480: 3477: 3474: 3471: 3468: 3465: 3462: 3459: 3456: 3453: 3415: 3351: 3344: 3343: 3325: 3309: 3286: 3282: 3278: 3274: 3270: 3266: 3262: 3254: 3250: 3245: 3238: 3235: 3232: 3229: 3226: 3223: 3220: 3217: 3214: 3211: 3208: 3205: 3202: 3199: 3196: 3193: 3190: 3187: 3184: 3181: 3178: 3175: 3172: 3169: 3166: 3163: 3160: 3157: 3154: 3151: 3148: 3145: 3142: 3128: 3125: 3122: 3119: 3116: 3113: 3110: 3107: 3104: 3097: 3092:check constraint 3089: 3085: 3077: 3065: 3061: 3054: 3051: 3048: 3045: 3042: 3039: 3036: 3033: 3030: 3027: 3024: 3021: 3018: 3015: 3012: 3009: 3006: 3003: 3000: 2997: 2994: 2991: 2988: 2985: 2969: 2965: 2945: 2944: 2941: 2938: 2935: 2916:Skolem functions 2912:Skolem constants 2869: 2844: 2837: 2833: 2830: 2827: 2824: 2821: 2818: 2815: 2812: 2809: 2806: 2803: 2800: 2797: 2794: 2791: 2788: 2785: 2782: 2779: 2776: 2773: 2770: 2767: 2764: 2761: 2758: 2755: 2752: 2726: 2713: 2694: 2646: 2641: 2618: 2613: 2610:Query result on 2607: 2603: 2599: 2595: 2588: 2585: 2582: 2579: 2576: 2573: 2570: 2567: 2564: 2561: 2558: 2555: 2552: 2549: 2546: 2543: 2540: 2537: 2530: 2517: 2516: 2513: 2510: 2507: 2494: 2492: 2491: 2486: 2469: 2468: 2441: 2402: 2401: 2393: 2384: 2383: 2294: 2277: 2274: 2271: 2268: 2265: 2262: 2259: 2256: 2253: 2239: 2237: 2236: 2231: 2214: 2213: 2186: 2150: 2149: 2141: 2132: 2131: 2096: 2095: 2082: 2081: 2072: 2002: 1961: 1942: 1918: 1871: 1867: 1861: 1855: 1851: 1844: 1841: 1838: 1835: 1832: 1829: 1826: 1823: 1820: 1817: 1814: 1811: 1808: 1805: 1802: 1799: 1796: 1793: 1790: 1787: 1784: 1777: 1772: 1751: 1744: 1741: 1738: 1735: 1732: 1729: 1726: 1723: 1720: 1717: 1714: 1711: 1708: 1705: 1702: 1699: 1696: 1693: 1690: 1687: 1680: 1669: 1665: 1662:In the searched 1658: 1655: 1652: 1649: 1646: 1643: 1640: 1637: 1634: 1631: 1628: 1625: 1622: 1619: 1616: 1613: 1610: 1607: 1604: 1601: 1598: 1595: 1592: 1589: 1586: 1583: 1580: 1573: 1569: 1565: 1561: 1554: 1546: 1539: 1536: 1533: 1530: 1527: 1524: 1523:'Is One' 1521: 1518: 1515: 1512: 1509: 1506: 1503: 1500: 1497: 1494: 1491: 1488: 1485: 1482: 1479: 1476: 1469: 1463: 1457: 1453: 1441:switch statement 1431:CASE expressions 1426: 1423: 1420: 1417: 1414: 1411: 1408: 1405: 1402: 1399: 1396: 1393: 1390: 1387: 1384: 1377: 1373: 1369: 1365: 1350: 1348: 1347: 1342: 1301: 1298: 1295: 1292: 1289: 1286: 1283: 1280: 1277: 1274: 1271: 1268: 1265: 1262: 1259: 1256: 1253: 1245: 1238: 1235: 1232: 1229: 1226: 1223: 1220: 1217: 1214: 1211: 1208: 1205: 1202: 1199: 1196: 1193: 1190: 1187: 1184: 1181: 1178: 1175: 1172: 1169: 1166: 1163: 1160: 1157: 1120: 1117: 1114: 1111: 1108: 1105: 1102: 1099: 1096: 1093: 1083: 1080: 1077: 1074: 1071: 1068: 1065: 1062: 1059: 1056: 1053: 1050: 1047: 1044: 1041: 1038: 1035: 1032: 1029: 1026: 1023: 1020: 1017: 1014: 1011: 1008: 1005: 1002: 987: 984: 981: 978: 975: 965: 962: 959: 956: 953: 950: 947: 944: 941: 938: 935: 932: 929: 926: 923: 920: 917: 847:Boolean datatype 749: 737: 733: 721: 706: 703: 700: 697: 694: 691: 688: 685: 682: 675: 669: 663: 657: 651: 596: 400: 377: 374: 371: 368: 365: 355: 352: 349: 346: 343: 310: 307: 304: 301: 298: 295: 288: 272: 269: 266: 255: 252: 249: 246: 230:Null propagation 142:FDT Bulletin of 138:relational model 109:) or "null" (we 89: 66:database model, 21: 6609: 6608: 6604: 6603: 6602: 6600: 6599: 6598: 6594:Unknown content 6579: 6578: 6577: 6572: 6568:Undefined value 6546: 6493: 6487: 6457: 6452: 6396: 6375: 6368: 6361: 6354: 6347: 6340: 6333: 6326: 6319: 6312: 6305: 6298: 6291: 6284: 6277: 6270: 6263: 6256: 6249: 6242: 6235: 6222: 6156: 6151: 6103:Wayback Machine 6092: 6056: 6033:Wayback Machine 5989: 5983: 5961: 5937:10.1.1.508.5701 5921: 5915: 5913:Further reading 5910: 5900: 5898: 5884: 5883: 5879: 5872: 5859: 5858: 5854: 5844: 5842: 5839: 5834: 5833: 5829: 5819: 5817: 5812: 5811: 5807: 5777: 5776: 5772: 5765: 5752: 5751: 5747: 5739: 5735: 5728: 5713: 5712: 5708: 5703: 5699: 5692: 5677: 5676: 5672: 5658: 5648: 5645: 5644: 5640: 5633: 5611: 5610: 5606: 5599:case expression 5592: 5591: 5587: 5577: 5575: 5570: 5569: 5565: 5555: 5553: 5548: 5547: 5543: 5533: 5531: 5526: 5525: 5521: 5507: 5506: 5502: 5488: 5487: 5483: 5469: 5468: 5461: 5454: 5426: 5425: 5421: 5380: 5379: 5375: 5366: 5362: 5353: 5349: 5342: 5327: 5326: 5322: 5313: 5309: 5295: 5294: 5290: 5283: 5258: 5257: 5250: 5236: 5235: 5228: 5212: 5211: 5207: 5198: 5196: 5187: 5186: 5182: 5168: 5167: 5163: 5148: 5147: 5140: 5133: 5116: 5115: 5108: 5101: 5086: 5085: 5078: 5066: 5065: 5061: 5049: 5048: 5044: 5019: 5008: 5004: 4976:Codd's 12 rules 4946: 4939: 4936: 4919: 4873: 4864: 4863: 4860: 4857: 4854: 4851: 4848: 4845: 4842: 4839: 4836: 4833: 4830: 4827: 4824: 4816: 4801: 4797: 4796:literal or the 4793: 4790:Law of Identity 4786: 4785: 4782: 4779: 4776: 4773: 4770: 4767: 4764: 4761: 4758: 4755: 4752: 4744: 4741: 4740: 4737: 4734: 4731: 4728: 4725: 4722: 4719: 4716: 4713: 4710: 4703: 4699: 4695: 4690: 4686: 4679: 4675: 4671: 4669:Common mistakes 4666: 4634: 4624: 4615: 4588: 4587: 4584: 4581: 4578: 4575: 4572: 4569: 4566: 4563: 4560: 4557: 4554: 4545: 4544: 4541: 4538: 4535: 4532: 4529: 4526: 4522:. For example: 4515: 4511: 4493: 4490: 4480: 4467: 4463: 4456: 4452: 4449: 4448: 4445: 4442: 4439: 4436: 4433: 4430: 4427: 4424: 4421: 4418: 4415: 4412: 4409: 4406: 4403: 4400: 4397: 4394: 4391: 4388: 4385: 4382: 4379: 4376: 4373: 4370: 4367: 4364: 4361: 4358: 4352: 4351: 4348: 4345: 4342: 4339: 4336: 4333: 4330: 4327: 4324: 4321: 4318: 4311: 4307: 4300: 4297: 4290: 4281: 4275: 4270: 4266: 4265:) implement an 4258: 4255: 4254: 4251: 4248: 4245: 4242: 4239: 4236: 4233: 4230: 4227: 4224: 4221: 4218: 4215: 4212: 4209: 4206: 4203: 4200: 4197: 4194: 4191: 4188: 4185: 4182: 4175: 4171: 4169: 4168: 4165: 4162: 4159: 4156: 4153: 4150: 4147: 4144: 4141: 4134: 4131: 4126: 4125: 4122: 4119: 4116: 4113: 4110: 4107: 4104: 4101: 4098: 4095: 4088: 4084: 4081: 4080: 4077: 4074: 4071: 4068: 4065: 4062: 4055: 4051: 4048: 4037: 4031: 4027: 4024: 3984:documentation: 3957: 3948: 3947:clauses of the 3944: 3940: 3932: 3927: 3919: 3915: 3909: 3905: 3901: 3896: 3892: 3882: 3870: 3859: 3854: 3831: 3830: 3827: 3824: 3821: 3818: 3815: 3812: 3809: 3806: 3803: 3800: 3797: 3794: 3791: 3788: 3785: 3782: 3779: 3776: 3773: 3770: 3767: 3764: 3761: 3758: 3755: 3752: 3749: 3740:SUM(z)/COUNT(z) 3739: 3736:SUM(z)/COUNT(*) 3735: 3731: 3727: 3723: 3711: 3670: 3666: 3662: 3655: 3648: 3637: 3607: 3551: 3550: 3547: 3544: 3541: 3538: 3535: 3532: 3529: 3526: 3523: 3520: 3517: 3514: 3511: 3508: 3505: 3502: 3499: 3496: 3493: 3490: 3487: 3484: 3481: 3478: 3475: 3472: 3469: 3466: 3463: 3460: 3457: 3454: 3451: 3324:LEFT OUTER JOIN 3323: 3307: 3293: 3276: 3264: 3260: 3243: 3240: 3239: 3236: 3233: 3230: 3227: 3224: 3221: 3218: 3215: 3212: 3209: 3206: 3203: 3200: 3197: 3194: 3191: 3188: 3185: 3182: 3179: 3176: 3173: 3170: 3167: 3164: 3161: 3158: 3155: 3152: 3149: 3146: 3143: 3140: 3130: 3129: 3126: 3123: 3120: 3117: 3114: 3111: 3108: 3105: 3102: 3095: 3087: 3083: 3067: 3063: 3059: 3056: 3055: 3052: 3049: 3046: 3043: 3040: 3037: 3034: 3031: 3028: 3025: 3022: 3019: 3016: 3013: 3010: 3007: 3004: 3001: 2998: 2995: 2992: 2989: 2986: 2983: 2967: 2963: 2952: 2942: 2939: 2936: 2933: 2929: 2925: 2918:which are also 2835: 2834: 2831: 2828: 2825: 2822: 2819: 2816: 2813: 2810: 2807: 2804: 2801: 2798: 2795: 2792: 2789: 2786: 2783: 2780: 2777: 2774: 2771: 2768: 2765: 2762: 2759: 2756: 2753: 2750: 2724: 2711: 2639: 2611: 2601: 2597: 2593: 2590: 2589: 2586: 2583: 2580: 2577: 2574: 2571: 2568: 2565: 2562: 2559: 2556: 2553: 2550: 2547: 2544: 2541: 2538: 2535: 2528: 2525: 2514: 2511: 2508: 2505: 2355: 2354: 2320: 2314: 2279: 2278: 2275: 2272: 2269: 2266: 2263: 2260: 2257: 2254: 2251: 2247:the answers to 2106: 2105: 2093: 2092: 2079: 2078: 2070: 2055: 2054: 2053: 2052: 2039:The Codd table 2037: 1940: 1898: 1878: 1869: 1863: 1857: 1853: 1849: 1846: 1845: 1842: 1839: 1836: 1833: 1830: 1827: 1824: 1821: 1818: 1815: 1812: 1809: 1806: 1803: 1800: 1797: 1794: 1791: 1788: 1785: 1782: 1775: 1768: 1758: 1749: 1746: 1745: 1742: 1739: 1736: 1733: 1730: 1727: 1724: 1721: 1718: 1715: 1712: 1709: 1706: 1703: 1700: 1697: 1694: 1691: 1688: 1685: 1678: 1667: 1663: 1660: 1659: 1656: 1653: 1650: 1647: 1644: 1641: 1638: 1635: 1632: 1629: 1626: 1623: 1620: 1617: 1614: 1611: 1608: 1605: 1602: 1599: 1596: 1593: 1590: 1587: 1584: 1581: 1578: 1571: 1567: 1563: 1559: 1552: 1544: 1541: 1540: 1537: 1534: 1531: 1528: 1525: 1522: 1519: 1516: 1513: 1510: 1507: 1504: 1501: 1498: 1495: 1492: 1489: 1486: 1483: 1480: 1477: 1474: 1467: 1461: 1455: 1451: 1433: 1428: 1427: 1424: 1421: 1418: 1415: 1412: 1409: 1406: 1403: 1400: 1397: 1394: 1391: 1388: 1385: 1382: 1375: 1371: 1367: 1363: 1321: 1320: 1313: 1308: 1303: 1302: 1299: 1296: 1293: 1290: 1287: 1284: 1281: 1278: 1275: 1272: 1269: 1266: 1263: 1260: 1257: 1254: 1251: 1243: 1240: 1239: 1236: 1233: 1230: 1227: 1224: 1221: 1218: 1215: 1212: 1209: 1206: 1203: 1200: 1197: 1194: 1191: 1188: 1185: 1182: 1179: 1176: 1173: 1170: 1167: 1164: 1161: 1158: 1155: 1122: 1121: 1118: 1115: 1112: 1109: 1106: 1103: 1100: 1097: 1094: 1091: 1085: 1084: 1081: 1078: 1075: 1072: 1069: 1066: 1063: 1060: 1057: 1054: 1051: 1048: 1045: 1042: 1039: 1036: 1033: 1030: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1000: 994:false dichotomy 989: 988: 985: 982: 979: 976: 973: 967: 966: 963: 960: 957: 954: 951: 948: 945: 942: 939: 936: 933: 930: 927: 924: 921: 918: 915: 881: 735: 731: 728: 719: 708: 707: 704: 701: 698: 695: 692: 689: 686: 683: 680: 671: 665: 659: 653: 647: 640: 379: 378: 375: 372: 369: 366: 363: 357: 356: 353: 350: 347: 344: 341: 335:undefined value 327: 321: 312: 311: 308: 306:'Chips' 305: 302: 299: 296: 294:'Fish ' 293: 286: 279: 274: 273: 270: 267: 264: 257: 256: 253: 250: 247: 244: 237: 232: 216: 167:database theory 134: 87: 84:database theory 68:E. F. Codd 40:database theory 28: 23: 22: 15: 12: 11: 5: 6607: 6605: 6597: 6596: 6591: 6581: 6580: 6574: 6573: 6571: 6570: 6565: 6560: 6551: 6548: 6547: 6545: 6544: 6539: 6534: 6529: 6524: 6519: 6514: 6509: 6504: 6502:Null character 6498: 6495: 6494: 6488: 6486: 6485: 6478: 6471: 6463: 6454: 6453: 6451: 6450: 6445: 6440: 6435: 6430: 6425: 6420: 6415: 6410: 6404: 6402: 6398: 6397: 6395: 6394: 6389: 6383: 6381: 6377: 6376: 6374: 6373: 6366: 6359: 6352: 6345: 6338: 6331: 6324: 6317: 6310: 6303: 6296: 6289: 6282: 6275: 6268: 6261: 6254: 6247: 6240: 6232: 6230: 6224: 6223: 6221: 6220: 6215: 6210: 6205: 6200: 6195: 6190: 6185: 6180: 6175: 6170: 6164: 6162: 6158: 6157: 6152: 6150: 6149: 6142: 6135: 6127: 6121: 6120: 6115: 6110: 6105: 6091: 6090:External links 6088: 6087: 6086: 6079: 6054: 6043: 6036: 6022: 5987: 5981: 5959: 5930:(4): 397–434. 5919: 5914: 5911: 5909: 5908: 5877: 5870: 5852: 5835:Darwen, Hugh. 5827: 5805: 5786:(1/2): 73–86, 5770: 5763: 5745: 5740:Troels Arvin, 5733: 5726: 5706: 5697: 5690: 5670: 5638: 5631: 5604: 5585: 5563: 5541: 5519: 5500: 5481: 5459: 5452: 5419: 5398:(4): 761–791. 5382:Imieliński, T. 5373: 5360: 5347: 5340: 5320: 5307: 5302:null predicate 5288: 5281: 5248: 5226: 5221:The null value 5205: 5193:aws.amazon.com 5180: 5161: 5138: 5131: 5106: 5099: 5076: 5059: 5042: 5005: 5003: 5000: 4999: 4998: 4993: 4988: 4983: 4978: 4973: 4968: 4963: 4958: 4952: 4951: 4935: 4932: 4918: 4915: 4872: 4869: 4823: 4751: 4709: 4670: 4667: 4665: 4662: 4623: 4620: 4553: 4525: 4518:introduced in 4479: 4476: 4453:NVL(SALARY, 0) 4357: 4317: 4289: 4286: 4181: 4140: 4130: 4127: 4094: 4061: 4047: 4044: 4023: 4020: 3956: 3953: 3924: 3923: 3913: 3899: 3869: 3866: 3863: 3862: 3857: 3852: 3848: 3847: 3844: 3841: 3748: 3718: 3717: 3714: 3708: 3707: 3704: 3700: 3699: 3696: 3692: 3691: 3688: 3684: 3683: 3680: 3647: 3644: 3641: 3640: 3635: 3632: 3629: 3625: 3624: 3621: 3618: 3615: 3611: 3610: 3605: 3602: 3599: 3595: 3594: 3591: 3588: 3585: 3581: 3580: 3577: 3574: 3571: 3450: 3443: 3442: 3439: 3438: 3435: 3431: 3430: 3427: 3423: 3422: 3419: 3409: 3406: 3405: 3402: 3399: 3395: 3394: 3391: 3388: 3384: 3383: 3380: 3377: 3373: 3372: 3369: 3366: 3362: 3361: 3358: 3355: 3292: 3289: 3279:is added then 3139: 3101: 2982: 2951: 2948: 2927: 2923: 2905: 2904: 2901: 2900: 2897: 2893: 2892: 2889: 2885: 2884: 2881: 2877: 2876: 2873: 2866: 2863: 2860: 2859: 2856: 2852: 2851: 2848: 2841: 2749: 2746:and the query 2742: 2741: 2738: 2735: 2731: 2730: 2727: 2722: 2718: 2717: 2714: 2709: 2705: 2704: 2701: 2698: 2670: 2669: 2666: 2665: 2661: 2660: 2656: 2655: 2651: 2650: 2643: 2636: 2633: 2632: 2628: 2627: 2623: 2622: 2615: 2534: 2524: 2521: 2496: 2495: 2484: 2481: 2478: 2475: 2472: 2467: 2464: 2461: 2458: 2455: 2452: 2447: 2444: 2440: 2435: 2432: 2429: 2426: 2423: 2420: 2417: 2414: 2411: 2408: 2405: 2399: 2396: 2390: 2387: 2382: 2379: 2376: 2373: 2370: 2367: 2362: 2348:possible world 2333:co-NP-complete 2323: 2322: 2318: 2315: 2312: 2309: 2305: 2304: 2301: 2298: 2250: 2241: 2240: 2229: 2226: 2223: 2220: 2217: 2212: 2209: 2206: 2203: 2200: 2197: 2192: 2189: 2185: 2180: 2177: 2174: 2171: 2168: 2165: 2162: 2159: 2156: 2153: 2147: 2144: 2138: 2135: 2130: 2127: 2124: 2121: 2118: 2115: 2051:, as pictured. 2038: 2034: 2033: 2030: 2026: 2025: 2022: 2018: 2017: 2014: 2010: 2009: 2006: 1993: 1992: 1989: 1985: 1984: 1981: 1977: 1976: 1973: 1969: 1968: 1965: 1952: 1951: 1948: 1944: 1943: 1938: 1934: 1933: 1930: 1926: 1925: 1922: 1906: 1905: 1904: 1903: 1897: 1894: 1877: 1874: 1781: 1757: 1754: 1719:'Zero' 1684: 1621:'Zero' 1577: 1473: 1432: 1429: 1381: 1340: 1337: 1334: 1331: 1328: 1312: 1309: 1307: 1304: 1250: 1154: 1090: 999: 972: 914: 880: 877: 841: 840: 837: 834: 831: 828: 825: 822: 818: 817: 814: 811: 808: 805: 802: 799: 795: 794: 791: 788: 785: 782: 779: 776: 772: 771: 768: 765: 764:p IS NOT FALSE 762: 759: 756: 753: 727: 724: 679: 639: 636: 633: 632: 629: 625: 624: 621: 617: 616: 613: 609: 608: 602: 592: 591: 588: 585: 582: 579: 575: 574: 571: 568: 565: 562: 558: 557: 554: 551: 548: 545: 541: 540: 537: 534: 531: 528: 524: 523: 520: 517: 514: 511: 507: 506: 503: 500: 497: 494: 490: 489: 486: 483: 480: 477: 473: 472: 469: 466: 463: 460: 456: 455: 452: 449: 446: 443: 439: 438: 429: 420: 411: 406: 362: 340: 320: 317: 292: 278: 275: 263: 243: 236: 233: 231: 228: 215: 212: 185:Don Chamberlin 133: 130: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 6606: 6595: 6592: 6590: 6587: 6586: 6584: 6569: 6566: 6564: 6563:Nullable type 6561: 6559: 6556: 6553: 6552: 6549: 6543: 6540: 6538: 6535: 6533: 6530: 6528: 6525: 6523: 6520: 6518: 6515: 6513: 6512:Null function 6510: 6508: 6505: 6503: 6500: 6499: 6496: 6492: 6484: 6479: 6477: 6472: 6470: 6465: 6464: 6461: 6449: 6446: 6444: 6441: 6439: 6436: 6434: 6431: 6429: 6426: 6424: 6421: 6419: 6416: 6414: 6411: 6409: 6406: 6405: 6403: 6399: 6393: 6390: 6388: 6385: 6384: 6382: 6378: 6371: 6367: 6364: 6360: 6357: 6353: 6350: 6346: 6343: 6339: 6336: 6332: 6329: 6325: 6322: 6318: 6315: 6311: 6308: 6304: 6301: 6297: 6294: 6290: 6287: 6283: 6280: 6276: 6273: 6269: 6266: 6262: 6259: 6255: 6252: 6248: 6245: 6241: 6238: 6234: 6233: 6231: 6229: 6225: 6219: 6216: 6214: 6211: 6209: 6206: 6204: 6201: 6199: 6196: 6194: 6191: 6189: 6186: 6184: 6181: 6179: 6176: 6174: 6171: 6169: 6166: 6165: 6163: 6159: 6155: 6148: 6143: 6141: 6136: 6134: 6129: 6128: 6125: 6119: 6116: 6114: 6111: 6109: 6106: 6104: 6100: 6097: 6094: 6093: 6089: 6084: 6080: 6076: 6072: 6068: 6064: 6060: 6055: 6052: 6048: 6044: 6041: 6037: 6034: 6030: 6027: 6023: 6019: 6015: 6010: 6005: 6001: 5997: 5993: 5988: 5984: 5978: 5974: 5970: 5969: 5964: 5960: 5955: 5951: 5947: 5943: 5938: 5933: 5929: 5925: 5920: 5917: 5916: 5912: 5897:on 2007-05-19 5896: 5892: 5888: 5885:Date, Chris. 5881: 5878: 5873: 5867: 5863: 5856: 5853: 5838: 5831: 5828: 5816: 5809: 5806: 5801: 5797: 5793: 5789: 5785: 5781: 5774: 5771: 5766: 5760: 5756: 5749: 5746: 5743: 5737: 5734: 5729: 5723: 5719: 5718: 5710: 5707: 5701: 5698: 5693: 5687: 5683: 5682: 5674: 5671: 5666: 5653: 5642: 5639: 5634: 5628: 5624: 5620: 5619: 5614: 5608: 5605: 5600: 5596: 5589: 5586: 5573: 5567: 5564: 5551: 5545: 5542: 5529: 5523: 5520: 5515: 5511: 5504: 5501: 5496: 5492: 5485: 5482: 5477: 5473: 5466: 5464: 5460: 5455: 5449: 5444: 5443: 5437: 5436:Vianu, Victor 5433: 5429: 5423: 5420: 5415: 5411: 5406: 5401: 5397: 5393: 5392: 5387: 5383: 5377: 5374: 5370: 5364: 5361: 5357: 5351: 5348: 5343: 5337: 5333: 5332: 5324: 5321: 5317: 5311: 5308: 5303: 5299: 5292: 5289: 5284: 5278: 5274: 5270: 5266: 5262: 5255: 5253: 5249: 5244: 5240: 5233: 5231: 5227: 5222: 5218: 5217: 5209: 5206: 5194: 5190: 5184: 5181: 5176: 5172: 5165: 5162: 5156: 5152: 5145: 5143: 5139: 5134: 5128: 5124: 5120: 5113: 5111: 5107: 5102: 5096: 5092: 5091: 5083: 5081: 5077: 5072: 5071: 5070:Computerworld 5063: 5060: 5055: 5054: 5053:Computerworld 5046: 5043: 5039: 5035: 5031: 5027: 5023: 5017: 5015: 5013: 5011: 5007: 5001: 4997: 4994: 4992: 4989: 4987: 4984: 4982: 4979: 4977: 4974: 4972: 4969: 4967: 4964: 4962: 4959: 4957: 4954: 4953: 4949: 4943: 4938: 4933: 4931: 4928: 4924: 4916: 4914: 4912: 4911:Fabian Pascal 4908: 4905:, authors of 4904: 4900: 4896: 4894: 4890: 4886: 4882: 4878: 4870: 4868: 4821: 4813: 4811: 4807: 4791: 4749: 4707: 4683: 4668: 4663: 4661: 4659: 4655: 4651: 4646: 4643: 4640: 4631: 4629: 4621: 4619: 4613: 4609: 4605: 4601: 4597: 4593: 4551: 4548: 4523: 4521: 4508: 4506: 4502: 4498: 4489: 4488:Nullable type 4485: 4477: 4475: 4473: 4460: 4355: 4315: 4304: 4295: 4287: 4285: 4279: 4264: 4179: 4138: 4128: 4092: 4059: 4045: 4043: 4041: 4021: 4019: 4014: 4009: 4007: 4003: 3998: 3996: 3990: 3985: 3983: 3977: 3973: 3968: 3966: 3962: 3954: 3952: 3937: 3914: 3900: 3891: 3890: 3889: 3886: 3880: 3875: 3867: 3858: 3853: 3850: 3849: 3845: 3842: 3839: 3838: 3835: 3746: 3743: 3715: 3710: 3709: 3705: 3702: 3701: 3697: 3694: 3693: 3689: 3686: 3685: 3681: 3678: 3677: 3674: 3659: 3653: 3645: 3636: 3633: 3630: 3627: 3626: 3622: 3619: 3616: 3613: 3612: 3606: 3603: 3600: 3597: 3596: 3592: 3589: 3586: 3583: 3582: 3578: 3575: 3572: 3569: 3568: 3565:Query result 3562: 3560: 3556: 3448: 3436: 3433: 3432: 3428: 3425: 3424: 3420: 3417: 3416: 3403: 3400: 3397: 3396: 3392: 3389: 3386: 3385: 3381: 3378: 3375: 3374: 3370: 3367: 3364: 3363: 3359: 3356: 3353: 3352: 3345: 3342: 3340: 3339:phone numbers 3336: 3332: 3327: 3321: 3313: 3305: 3302: 3297: 3290: 3288: 3261:MATCH PARTIAL 3258: 3137: 3135: 3099: 3093: 3080: 3075: 3071: 2980: 2978: 2973: 2961: 2957: 2949: 2947: 2921: 2917: 2913: 2898: 2895: 2894: 2890: 2887: 2886: 2882: 2879: 2878: 2874: 2871: 2870: 2867: 2864: 2857: 2854: 2853: 2849: 2846: 2845: 2842: 2839: 2747: 2739: 2736: 2733: 2732: 2728: 2723: 2720: 2719: 2715: 2710: 2707: 2706: 2702: 2699: 2696: 2695: 2692: 2687: 2685: 2684:natural joins 2680: 2677: 2663: 2662: 2658: 2657: 2653: 2652: 2648: 2647: 2644: 2637: 2630: 2629: 2625: 2624: 2620: 2619: 2616: 2609: 2605: 2532: 2522: 2520: 2501: 2476: 2470: 2445: 2442: 2430: 2424: 2418: 2415: 2406: 2394: 2385: 2360: 2353: 2352: 2351: 2349: 2345: 2341: 2336: 2334: 2330: 2316: 2310: 2307: 2306: 2302: 2299: 2296: 2295: 2292: 2287: 2285: 2248: 2246: 2221: 2215: 2190: 2187: 2175: 2169: 2163: 2154: 2142: 2133: 2104: 2103: 2102: 2100: 2090: 2086: 2076: 2068: 2064: 2060: 2050: 2046: 2042: 2031: 2028: 2027: 2023: 2020: 2019: 2015: 2012: 2011: 2007: 2004: 2003: 2000: 1990: 1987: 1986: 1982: 1979: 1978: 1974: 1971: 1970: 1966: 1963: 1962: 1959: 1949: 1946: 1945: 1939: 1936: 1935: 1931: 1928: 1927: 1923: 1920: 1919: 1916: 1911: 1910: 1902: 1895: 1893: 1891: 1887: 1886:W. Lipski Jr. 1883: 1882:T. Imieliński 1875: 1873: 1866: 1860: 1779: 1771: 1766: 1762: 1755: 1753: 1731:'One' 1682: 1675: 1673: 1668:'Null Result' 1642:'One' 1575: 1556: 1550: 1471: 1465: 1448: 1446: 1442: 1438: 1435:SQL provides 1430: 1379: 1360: 1358: 1354: 1338: 1335: 1332: 1329: 1326: 1318: 1310: 1305: 1248: 1152: 1149: 1147: 1143: 1139: 1135: 1131: 1127: 1088: 997: 995: 970: 912: 910: 906: 902: 898: 894: 890: 886: 878: 876: 874: 870: 865: 863: 858: 856: 852: 848: 838: 835: 832: 829: 826: 823: 820: 819: 815: 812: 809: 806: 803: 800: 797: 796: 792: 789: 786: 783: 780: 777: 774: 773: 769: 766: 763: 760: 758:p IS NOT TRUE 757: 754: 751: 750: 747: 743: 741: 725: 723: 717: 713: 677: 674: 668: 662: 656: 650: 645: 637: 630: 627: 626: 622: 619: 618: 614: 611: 610: 607: 603: 601: 598: 597: 589: 586: 583: 580: 577: 576: 572: 569: 566: 563: 560: 559: 555: 552: 549: 546: 543: 542: 538: 535: 532: 529: 526: 525: 521: 518: 515: 512: 509: 508: 504: 501: 498: 495: 492: 491: 487: 484: 481: 478: 475: 474: 470: 467: 464: 461: 458: 457: 453: 450: 447: 444: 441: 440: 437: 433: 430: 428: 424: 421: 419: 415: 412: 410: 407: 405: 402: 401: 398: 395: 391: 387: 382: 360: 338: 336: 332: 326: 318: 316: 290: 284: 283:concatenation 276: 261: 241: 234: 229: 227: 225: 221: 213: 211: 208: 203: 200: 195: 191: 186: 182: 177: 175: 174: 173:Computerworld 168: 164: 160: 156: 155: 150: 149: 145: 139: 131: 129: 127: 123: 118: 116: 112: 108: 105:that he owns 104: 100: 95: 93: 92:reserved word 85: 81: 77: 75: 69: 65: 61: 57: 53: 49: 41: 37: 32: 19: 6589:SQL keywords 6554: 6531: 6527:Null pointer 6306: 6096:Oracle NULLs 6066: 6062: 6038:John Grant, 6002:(3): 14–20. 5999: 5995: 5967: 5927: 5923: 5899:. Retrieved 5895:the original 5880: 5861: 5855: 5843:. Retrieved 5830: 5818:. Retrieved 5808: 5783: 5779: 5773: 5754: 5748: 5736: 5716: 5709: 5700: 5680: 5673: 5641: 5617: 5607: 5598: 5594: 5588: 5576:. Retrieved 5566: 5554:. Retrieved 5552:. PostgreSQL 5544: 5532:. Retrieved 5530:. PostgreSQL 5522: 5513: 5509: 5503: 5494: 5490: 5484: 5475: 5441: 5422: 5395: 5389: 5376: 5368: 5363: 5355: 5354:C. J. Date, 5350: 5330: 5323: 5315: 5310: 5301: 5297: 5291: 5264: 5242: 5220: 5215: 5208: 5197:. Retrieved 5195:. 2022-05-23 5192: 5183: 5174: 5170: 5164: 5154: 5150: 5118: 5089: 5068: 5062: 5051: 5045: 5025: 4920: 4906: 4897: 4892: 4888: 4884: 4880: 4876: 4874: 4865: 4814: 4809: 4787: 4742: 4684: 4672: 4647: 4644: 4639:Boolean type 4632: 4625: 4589: 4558:'ok' 4549: 4546: 4509: 4491: 4471: 4461: 4450: 4354:turns into: 4353: 4305: 4298: 4263:Transact-SQL 4256: 4178:expression: 4170: 4132: 4091:expression: 4082: 4049: 4025: 4016: 4011: 4002:not distinct 4001: 3999: 3992: 3987: 3979: 3974: 3970: 3958: 3938: 3925: 3893:PARTITION BY 3887: 3879:not distinct 3878: 3871: 3846:MAX(e.Wage) 3843:MIN(e.Wage) 3832: 3744: 3721: 3660: 3650:SQL defines 3649: 3558: 3552: 3446: 3413:PhoneNumber 3334: 3330: 3328: 3317: 3285:(NULL, NULL) 3241: 3213:author_first 3183:author_first 3134:foreign keys 3131: 3081: 3073: 3069: 3057: 2976: 2953: 2911: 2908: 2745: 2690: 2681: 2675: 2673: 2591: 2526: 2499: 2497: 2343: 2339: 2337: 2326: 2290: 2280: 2244: 2242: 2098: 2088: 2084: 2062: 2058: 2056: 2048: 2044: 2040: 1998: 1957: 1914: 1908: 1907: 1899: 1879: 1847: 1759: 1747: 1676: 1671: 1661: 1557: 1548: 1542: 1459: 1449: 1434: 1366:function or 1361: 1352: 1316: 1314: 1255:'ok' 1241: 1204:'ok' 1159:'ok' 1150: 1141: 1137: 1133: 1129: 1123: 1086: 990: 968: 908: 904: 900: 896: 892: 888: 882: 872: 868: 866: 859: 844: 767:p IS UNKNOWN 744: 729: 715: 711: 709: 641: 605: 599: 435: 431: 426: 422: 417: 413: 408: 403: 393: 389: 383: 380: 358: 328: 313: 280: 258: 238: 217: 206: 204: 181:IBM System R 178: 171: 152: 141: 135: 119: 110: 106: 102: 96: 71: 55: 51: 45: 6537:Null string 6532:Null in SQL 6507:Null device 5578:November 6, 5556:November 6, 5038:PS preprint 4903:Hugh Darwen 4887:, known as 4702:instead of 4664:Controversy 4484:Option type 4299:The Oracle 4040:expressions 3941:NULLS FIRST 3559:PhoneNumber 3518:PhoneNumber 3335:PhoneNumber 3320:outer joins 3291:Outer joins 3207:author_last 3168:author_last 3098:predicate. 3096:IS NOT NULL 1778:statement. 1568:IS NOT NULL 1450:The simple 1445:if...elseif 1376:IS NOT NULL 736:IS NOT NULL 331:data domain 183:. Although 111:do not know 86:. In SQL, 6583:Categories 6517:Null modem 6413:Foundation 6387:Edgar Codd 5963:Date, C.J. 5661:|url= 5613:Jim Melton 5534:6 November 5199:2023-12-30 5036:, p. 344; 5002:References 4996:Join (SQL) 4899:Chris Date 4871:Criticisms 4650:PostgreSQL 4616:IS UNKNOWN 4608:PostgreSQL 4596:PostgreSQL 4505:overloaded 4482:See also: 3982:PostgreSQL 3961:PostgreSQL 3945:NULLS LAST 3897:ROW_NUMBER 3631:Patterson 3576:FirstName 3555:result set 3401:Patterson 3360:FirstName 3304:outer join 3277:MATCH FULL 3265:REFERENCES 3234:first_name 3219:REFERENCES 3005:CONSTRAINT 2303:condition 1765:procedural 1464:expression 761:p IS FALSE 214:Challenges 176:magazine. 122:null value 64:relational 6555:See also: 6491:computing 6489:Nulls in 6408:Framework 5932:CiteSeerX 4834:sometable 4762:sometable 4720:sometable 4501:data type 4278:functions 4036:searched 3906:INTERSECT 3840:COUNT(*) 3634:Patricia 3623:555-9876 3617:Thompson 3593:555-2323 3573:LastName 3485:FirstName 3437:555-9876 3429:555-2323 3404:Patricia 3390:Thompson 3357:LastName 3349:Employee 3228:last_name 2914:(meaning 2471:⁡ 2446:∈ 2419:⋂ 2398:¯ 2386:⁡ 2361:⋂ 2216:⁡ 2191:∈ 2146:¯ 2134:⁡ 1750:ELSE NULL 1674:is Null. 1553:'Is Null' 1330:⋈ 1317:not equal 1126:tautology 755:p IS TRUE 631:Un­known 590:Un­known 573:Un­known 556:Un­known 539:Un­known 488:Un­known 224:SQL joins 36:omega (ω) 6342:Truncate 6314:Order by 6272:Group by 6228:Keywords 6218:SQL:2023 6213:SQL:2016 6208:SQL:2011 6203:SQL:2008 6198:SQL:2006 6193:SQL:2003 6188:SQL:1999 6161:Versions 6099:Archived 6029:Archived 6018:17354724 5965:(2000). 5954:17517212 5800:41955624 5652:cite web 5438:(1995). 4934:See also 4893:I-values 4889:A-values 4771:<> 4635:NOT NULL 4628:SQL:1999 4626:The ISO 4570:<> 4464:COALESCE 4319:COALESCE 4308:COALESCE 4273:. (See 4271:COALESCE 4259:COALESCE 4172:COALESCE 4142:COALESCE 4135:COALESCE 4129:COALESCE 4032:COALESCE 3995:SQL:2003 3949:ORDER BY 3916:DISTINCT 3883:GROUP BY 3874:SQL:2003 3872:Because 3819:LastName 3804:Employee 3656:COUNT(*) 3587:Johnson 3503:Employee 3473:LastName 3368:Johnson 3331:Employee 3299:Example 3094:with an 3088:NOT NULL 3084:NOT NULL 2940:<> 2922:), say ω 2664:Charles 2659:Harriet 2631:Charles 2581:<> 1752:clause. 1545:i = NULL 1364:COALESCE 1362:The SQL 1132:OR (NOT 851:literals 821:Un­known 628:Un­known 587:Un­known 584:Un­known 581:Un­known 578:Un­known 567:Un­known 561:Un­known 553:Un­known 544:Un­known 533:Un­known 530:Un­known 485:Un­known 479:Un­known 60:database 18:COALESCE 6380:Related 6328:Prepare 5901:May 29, 5845:May 29, 5820:May 29, 4802:UNKNOWN 4798:UNKNOWN 4700:IS NULL 4696:UNKNOWN 4539:INTEGER 4497:literal 3922:queries 3620:Thomas 3579:Number 3421:Number 3393:Thomas 3251:, then 3222:Authors 3198:FOREIGN 3186:VARCHAR 3171:VARCHAR 3156:VARCHAR 3118:INTEGER 3072:OR NOT 3068:CHECK ( 2999:INTEGER 2796:NATURAL 2654:George 2626:George 2308:Harriet 2029:Charles 2021:Harriet 1988:Charles 1980:Harriet 1947:Charles 1937:Harriet 1761:SQL/PSM 1564:IS NULL 1460:simple 1372:IS NULL 1297:UNKNOWN 1288:INTEGER 1234:INTEGER 1192:INTEGER 903:OR NOT 891:OR NOT 740:postfix 732:IS NULL 281:String 132:History 6356:Update 6335:Select 6286:Insert 6279:Having 6258:Delete 6251:Create 6183:SQL-92 6178:SQL-89 6173:SQL-86 6168:SEQUEL 6016:  5979:  5952:  5934:  5868:  5798:  5761:  5724:  5688:  5629:  5450:  5414:288040 5412:  5338:  5279:  5129:  5097:  5032:  4846:string 4840:LENGTH 4825:SELECT 4817:LENGTH 4753:SELECT 4711:SELECT 4704:= NULL 4658:PL/SQL 4592:SQLite 4555:SELECT 4520:SQL-92 4457:SALARY 4267:ISNULL 4246:value3 4231:value3 4225:value2 4210:value2 4204:value1 4189:value1 4160:value3 4154:value2 4148:value1 4120:value1 4108:value2 4102:value1 4085:NULLIF 4083:Thus, 4075:value2 4069:value1 4063:NULLIF 4056:NULLIF 4052:NULLIF 4046:NULLIF 4028:NULLIF 3965:B-tree 3920:SELECT 3910:EXCEPT 3908:, and 3750:SELECT 3732:AVG(z) 3728:AVG(j) 3724:AVG(i) 3671:AVG(j) 3663:AVG(i) 3604:Larry 3601:Lewis 3497:Number 3452:SELECT 3382:Larry 3379:Lewis 3257:SQL-92 3141:CREATE 3103:CREATE 2984:CREATE 2805:SELECT 2769:SELECT 2751:SELECT 2563:SELECT 2536:SELECT 2291:Result 2252:SELECT 2097:lifts 2067:models 2049:EmpH37 2045:EmpH22 2013:George 1999:EmpH37 1972:George 1958:EmpH22 1929:George 1909:  1859:ELSEIF 1837:SELECT 1828:SELECT 1804:ELSEIF 1798:SELECT 1689:DECODE 1686:SELECT 1679:DECODE 1579:SELECT 1475:SELECT 1273:SELECT 1252:SELECT 1219:SELECT 1201:SELECT 1177:SELECT 1156:SELECT 1136:) OR ( 1092:SELECT 1019:SELECT 1001:SELECT 974:SELECT 916:SELECT 839:False 720:SELECT 681:SELECT 673:SELECT 667:DELETE 661:UPDATE 655:INSERT 615:False 505:False 471:False 364:SELECT 342:SELECT 199:schema 148:SIGMOD 126:object 115:column 6363:Where 6349:Union 6300:Merge 6051:IAENG 6014:S2CID 5950:S2CID 5840:(PDF) 5796:JSTOR 5410:S2CID 4837:WHERE 4765:WHERE 4745:WHERE 4723:WHERE 4612:MySQL 4604:MySQL 4561:WHERE 4472:after 3933:WHERE 3928:UNION 3902:UNION 3810:WHERE 3753:COUNT 3722:Here 3512:OUTER 3153:title 3147:Books 3144:TABLE 3106:TABLE 3064:CHECK 3060:WHERE 3011:CHECK 2987:TABLE 2968:WHERE 2964:WHERE 2934:WHERE 2926:and ω 2649:Name 2621:Name 2575:WHERE 2560:UNION 2548:WHERE 2506:WHERE 2321:= 22 2264:WHERE 1456:WHERE 1311:Joins 1258:WHERE 1207:WHERE 1198:UNION 1162:WHERE 1104:WHERE 1101:stuff 1031:WHERE 1028:stuff 1010:stuff 983:stuff 928:WHERE 925:stuff 855:SQL92 830:False 824:False 816:True 813:False 810:False 801:False 798:False 793:True 790:False 784:False 781:False 693:WHERE 664:, or 649:WHERE 623:True 620:False 570:False 564:False 536:False 527:False 522:True 519:False 516:False 513:False 510:False 502:False 493:False 468:False 462:False 454:True 90:is a 80:omega 74:RDBMS 6370:With 6321:Over 6307:Null 6293:Join 6265:From 6244:Case 5977:ISBN 5903:2007 5866:ISBN 5847:2007 5822:2007 5759:ISBN 5722:ISBN 5686:ISBN 5665:help 5627:ISBN 5580:2008 5558:2008 5536:2008 5448:ISBN 5336:ISBN 5277:ISBN 5127:ISBN 5095:ISBN 5030:ISBN 4901:and 4891:and 4883:and 4852:< 4831:FROM 4794:NULL 4759:FROM 4732:NULL 4717:FROM 4691:NULL 4582:NULL 4567:NULL 4533:NULL 4527:CAST 4516:CAST 4512:NULL 4494:NULL 4492:The 4486:and 4389:val3 4377:val2 4365:val1 4325:val1 4243:THEN 4240:NULL 4228:WHEN 4222:THEN 4219:NULL 4207:WHEN 4201:THEN 4198:NULL 4186:WHEN 4183:CASE 4176:CASE 4166:...) 4133:The 4117:ELSE 4114:NULL 4111:THEN 4099:WHEN 4096:CASE 4089:CASE 4050:The 4038:CASE 4030:and 3860:NULL 3855:NULL 3822:LIKE 3801:FROM 3795:Wage 3777:Wage 3738:but 3712:NULL 3706:250 3703:250 3698:200 3695:200 3690:150 3687:150 3638:NULL 3608:NULL 3590:Joe 3553:The 3515:JOIN 3509:LEFT 3500:FROM 3371:Joe 3318:SQL 3308:NULL 3244:NULL 3124:NULL 3044:> 3020:< 3008:ck_i 2817:FROM 2799:JOIN 2781:FROM 2763:FROM 2725:NULL 2712:NULL 2682:For 2676:sure 2594:NULL 2569:FROM 2566:Name 2542:FROM 2539:Name 2500:sure 2344:sure 2297:Name 2258:FROM 2008:Age 2005:Name 1967:Age 1964:Name 1941:NULL 1924:Age 1921:Name 1884:and 1865:ELSE 1848:The 1834:ELSE 1825:THEN 1819:NULL 1795:THEN 1792:NULL 1737:FROM 1701:NULL 1664:CASE 1651:FROM 1639:THEN 1627:WHEN 1618:THEN 1606:WHEN 1597:THEN 1594:NULL 1585:WHEN 1582:CASE 1572:CASE 1566:and 1560:CASE 1532:FROM 1520:THEN 1514:WHEN 1505:THEN 1499:WHEN 1490:THEN 1487:NULL 1484:WHEN 1478:CASE 1468:CASE 1462:CASE 1452:CASE 1422:NULL 1410:NULL 1374:and 1368:CASE 1282:NULL 1276:CAST 1228:NULL 1222:CAST 1186:NULL 1180:CAST 1116:NULL 1098:FROM 1079:NULL 1025:FROM 1007:FROM 980:FROM 922:FROM 836:True 833:True 827:True 807:True 804:True 787:True 778:True 775:True 734:and 702:NULL 687:FROM 612:True 604:NOT 550:True 547:True 499:True 496:True 482:True 476:True 465:True 459:True 451:True 448:True 445:True 442:True 425:AND 392:and 373:TRUE 367:NULL 351:NULL 300:NULL 265:NULL 251:NULL 107:none 103:know 88:NULL 56:NULL 52:null 6154:SQL 6071:doi 6067:225 6049:". 6004:doi 5942:doi 5788:doi 5400:doi 5269:doi 4956:SQL 4768:num 4726:num 4654:SQL 4602:). 4594:or 4468:NVL 4446:))) 4428:val 4407:val 4401:NVL 4383:NVL 4371:NVL 4359:NVL 4337:val 4331:... 4312:NVL 4301:NVL 4288:NVL 4252:END 4249:... 4237:NOT 4216:NOT 4195:NOT 4123:END 3943:or 3783:MAX 3765:MIN 3570:ID 3418:ID 3354:ID 3301:SQL 3237:)); 3201:KEY 3162:100 3121:NOT 3038:AND 3026:AND 2937:Age 2899:33 2891:23 2883:13 2875:F3 2858:33 2850:F3 2829:F23 2793:F12 2740:33 2729:23 2716:13 2703:F3 2640:Emp 2612:Emp 2602:Emp 2598:Emp 2578:Age 2572:Emp 2551:Age 2545:Emp 2529:Emp 2509:Age 2300:Age 2267:Age 2261:Emp 2245:all 2099:all 2063:any 2047:or 2041:Emp 2032:56 2024:37 2016:43 1991:56 1983:22 1975:43 1950:56 1932:43 1915:Emp 1807:NOT 1648:END 1529:END 1413:AND 1355:in 1291:))) 1237:)); 1168:NOT 1113:NOT 1052:NOT 949:NOT 416:OR 144:ACM 54:or 48:SQL 46:In 6585:: 6237:As 6065:. 6061:. 6012:. 6000:23 5998:. 5994:. 5975:. 5971:. 5948:. 5940:. 5926:. 5889:. 5794:, 5784:68 5782:, 5656:: 5654:}} 5650:{{ 5625:. 5623:53 5474:. 5462:^ 5434:; 5430:; 5408:. 5396:31 5394:. 5388:. 5275:. 5263:. 5251:^ 5241:. 5229:^ 5191:. 5141:^ 5125:. 5109:^ 5079:^ 5009:^ 4855:20 4812:. 4706:. 4676:'' 4579:IS 4536:AS 4306:A 4282:IS 4276:Is 4234:IS 4213:IS 4192:IS 4042:. 3904:, 3851:0 3780:), 3762:), 3742:. 3716:0 3682:j 3679:i 3673:: 3628:4 3614:3 3598:2 3584:1 3545:ID 3539:pn 3533:ID 3524:ON 3521:pn 3491:pn 3461:ID 3434:3 3426:1 3398:4 3387:3 3376:2 3365:1 3195:), 3192:20 3180:), 3177:20 3165:), 3127:); 3053:); 2943:22 2928:22 2924:12 2896:31 2888:21 2880:11 2872:F1 2855:31 2847:F1 2826:AS 2814:F3 2808:F2 2790:AS 2778:F2 2772:F1 2760:F3 2754:F1 2737:32 2734:31 2721:21 2708:11 2700:F2 2697:F1 2642:: 2614:: 2584:22 2557:22 2515:22 2273:22 2091:, 1854:IF 1850:IF 1783:IF 1776:IF 1770:IF 1591:IS 1447:. 1419:IS 1407:IS 1398:OR 1294:IS 1285:AS 1267:IN 1244:IN 1231:AS 1213:IN 1195:)) 1189:AS 1171:IN 1148:. 1110:IS 1076:IS 1070:OR 1064:10 1049:OR 1043:10 964:); 961:10 946:OR 940:10 887:, 658:, 434:= 370:OR 345:10 303:|| 297:|| 287:|| 245:10 128:. 50:, 6482:e 6475:t 6468:v 6146:e 6139:t 6132:v 6077:. 6073:: 6020:. 6006:: 5985:. 5956:. 5944:: 5928:4 5905:. 5874:. 5849:. 5824:. 5803:. 5790:: 5767:. 5730:. 5694:. 5667:) 5663:( 5635:. 5601:. 5582:. 5560:. 5538:. 5516:. 5497:. 5456:. 5416:. 5402:: 5344:. 5304:. 5285:. 5271:: 5223:. 5202:. 5177:. 5159:. 5157:. 5135:. 5103:. 5073:. 5056:. 4858:; 4849:) 4843:( 4828:* 4777:; 4774:1 4756:* 4735:; 4729:= 4714:* 4687:= 4680:0 4585:; 4576:) 4573:1 4564:( 4542:) 4530:( 4443:… 4440:) 4437:} 4434:n 4431:{ 4425:, 4422:} 4419:1 4416:- 4413:n 4410:{ 4404:( 4398:, 4395:… 4392:, 4386:( 4380:, 4374:( 4368:, 4362:( 4349:) 4346:} 4343:n 4340:{ 4334:, 4328:, 4322:( 4296:. 4163:, 4157:, 4151:, 4145:( 4105:= 4078:) 4072:, 4066:( 3828:; 3816:. 3813:e 3807:e 3798:) 3792:. 3789:e 3786:( 3774:. 3771:e 3768:( 3759:* 3756:( 3667:i 3548:; 3542:. 3536:= 3530:. 3527:e 3506:e 3494:. 3488:, 3482:. 3479:e 3476:, 3470:. 3467:e 3464:, 3458:. 3455:e 3231:, 3225:( 3216:) 3210:, 3204:( 3189:( 3174:( 3159:( 3150:( 3115:i 3112:( 3109:t 3076:) 3074:p 3070:p 3050:) 3047:0 3041:i 3035:0 3032:= 3029:i 3023:0 3017:i 3014:( 3002:, 2996:i 2993:( 2990:t 2977:i 2832:; 2823:) 2820:J 2811:, 2802:( 2787:) 2784:J 2775:, 2766:( 2757:, 2691:J 2587:; 2554:= 2512:= 2483:} 2480:) 2477:T 2474:( 2466:s 2463:l 2460:e 2457:d 2454:o 2451:M 2443:R 2439:| 2434:) 2431:R 2428:( 2425:q 2422:{ 2416:= 2413:) 2410:) 2407:T 2404:( 2395:q 2389:( 2381:s 2378:l 2375:e 2372:d 2369:o 2366:M 2319:1 2317:ω 2313:1 2311:ω 2276:; 2270:= 2255:* 2228:} 2225:) 2222:T 2219:( 2211:s 2208:l 2205:e 2202:d 2199:o 2196:M 2188:R 2184:| 2179:) 2176:R 2173:( 2170:q 2167:{ 2164:= 2161:) 2158:) 2155:T 2152:( 2143:q 2137:( 2129:s 2126:l 2123:e 2120:d 2117:o 2114:M 2094:q 2089:T 2085:q 2080:q 2071:q 1843:; 1822:) 1816:= 1813:i 1810:( 1789:= 1786:i 1743:; 1740:t 1734:) 1728:, 1725:1 1722:, 1716:, 1713:0 1710:, 1704:, 1698:, 1695:i 1692:( 1672:i 1657:; 1654:t 1636:1 1633:= 1630:i 1615:0 1612:= 1609:i 1588:i 1549:i 1538:; 1535:t 1517:1 1502:0 1481:i 1425:) 1416:B 1404:A 1401:( 1395:) 1392:B 1389:= 1386:A 1383:( 1353:R 1339:R 1336:= 1333:R 1327:R 1300:; 1279:( 1270:( 1264:1 1261:( 1225:( 1216:( 1210:1 1183:( 1174:( 1165:1 1142:p 1138:p 1134:p 1130:p 1119:; 1107:x 1095:* 1082:; 1073:x 1067:) 1061:= 1058:x 1055:( 1046:) 1040:= 1037:x 1034:( 1022:* 1013:; 1004:* 986:; 977:* 958:= 955:x 952:( 943:) 937:= 934:x 931:( 919:* 909:p 905:p 901:p 897:p 893:p 889:p 873:p 869:p 752:p 716:i 712:i 705:; 699:= 696:i 690:t 684:* 606:p 600:p 436:q 432:p 427:q 423:p 418:q 414:p 409:q 404:p 394:q 390:p 348:= 271:0 268:/ 248:* 146:- 99:0 76:) 42:. 20:)

Index

COALESCE

omega (ω)
database theory
SQL
database
relational
E. F. Codd
RDBMS
omega
database theory
reserved word
0
column
null value
object
relational model
ACM
SIGMOD
ACM Transactions on Database Systems
Relational Model/Tasmania
ternary (three-valued)
database theory
Computerworld
IBM System R
Don Chamberlin
semipredicate problem
semantics section
schema
three-valued logic

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.