SQL
Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros —y no a registros individuales— permite una alta productividad en codificación y la orientación a objetos. De esta forma, una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros. SQL también tiene las siguientes características:Algunos de los tipos de datos básicos de SQL son:Como ya se dijo antes, y suele ser común en los lenguajes de acceso a bases de datos de alto nivel, SQL es un lenguaje declarativo. O sea, que especifica qué es lo que se quiere y no cómo conseguirlo, por lo que una sentencia no establece explícitamente un orden de ejecución.
Null (SQL)
Los valores lógicos ternarios de SQL se encuentran en el Lenguaje de Manipulación de Datos (LMD) en comparaciones predicadas de afirmaciones LMD y dudas frecuentes. La proposición WHERE (DONDE) propicia que la declaración LMD actúe sólo en aquellas filas para las cuales los cálculos de predicados evalúan la Verdad. Las filas para las cuales estos cálculos evalúan si son Falsas o Desconocidas no derivan de declaraciones DML como INSERT, UPDATE o DELETE, y son desechados a partir de preguntas SELECT. Interpretando Desconocido y Falso como el mismo resultado lógico es un error común encontrado cuando tratamos con Nulls. El siguiente ejemplo lo demuestra: SELECT *  FROM t  WHERE i = NULL; El ejemplo arriba planteado siempre devuelve lógicamente ceros a las filas debido a que la comparación entre la columna i con Null siempre devuelve un valor Desconocido, incluso para aquellas filas en las que i es Null. El resultado Desconocido causa la declaración SELECT para desechar todas y cada una de las filas (De todas formas, en la práctica, las herramientas SQL recuperarán las filas utilizando la comparación con Null).