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:Unknown
590:Unknown
573:Unknown
556:Unknown
539:Unknown
488:Unknown
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:Unknown
628:Unknown
587:Unknown
584:Unknown
581:Unknown
578:Unknown
567:Unknown
561:Unknown
553:Unknown
544:Unknown
533:Unknown
530:Unknown
485:Unknown
479:Unknown
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:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.