sintaxis de sentencias SQL
NCache ofrece un similar a SQL sintaxis de consulta con opciones de búsqueda ampliadas. La nueva sintaxis de consulta le permite recuperar proyecciones específicas del almacén de caché. Además, ahora puede especificar *
en una proyección, para recuperar todos los atributos indexados del caché, lo que describe con más detalle su comportamiento similar a SQL.
Note
NCache también admite compatibilidad con versiones anteriores para la sintaxis de consulta anterior.
A continuación se menciona el estándar. NCache-Sintaxis de consulta compatible, que utiliza la GROUP BY
y ORDER BY
cláusulas:
SELECT <projections> FROM <type> [WHERE <expression>] [GROUP BY <objectAttributes>] [ORDER BY <orderArguments>]
Proyecciones
Puede especificar las columnas de su elección que se proyectarán en su consulta. A continuación se menciona una lista de NCache-proyecciones soportadas:
*
: Devuelve todos los atributos indexados y Etiquetas con nombre en forma de columnas separadas.ColumnName
: Devuelve la columna o columnas especificadas con los objetos que cumplen los criterios de consulta.$VALUE$
: Devuelve el objeto real que se ha almacenado dentro de la memoria caché.$GROUP$
: Devuelve el Grupos especificado con los objetos que satisfacen los criterios de la cláusula WHERE.$TAG$
: Devuelve el Etiquetas especificado con los objetos que satisfacen los criterios de la cláusula WHERE.Projection functions
: Devuelve el resultado de funciones agregadas que incluyen:- SUMA(Identificador)
- COUNT (*)
- MIN(Identificador)
- MAX(Identificador)
- PROMEDIO(Identificador)
Note
Puede usar cualquiera de las proyecciones mencionadas anteriormente en combinación, excepto la *
, ya que solo se puede especificar solo.
Escribe un nombre
Ampliando nuestra sintaxis de consulta similar a SQL anterior, el Type
El atributo puede especificar uno de los siguientes:
Fully Qualified Name(FQN)
del tipo indexado$DataType$
(para estructuras de datos)$Text$
(para el tipo System.String)
Importante:
NCache requiere que todos los atributos de búsqueda estén indexados antes de usarlos.
Sintaxis
Los siguientes ejemplos explican mejor la NCache-Sintaxis de consulta compatible con el supuesto de que los usuarios están tratando con un Producto clase.
Operadores básicos de consulta
Operador | Descripción | Uso (Ejemplo) |
---|---|---|
= OR == |
Igual a. | SELECT * From Product WHERE ProductID == 10 |
!= OR <> |
No es igual a. | SELECT * From Product WHERE ProductID <> 8 |
< |
Menos que. | SELECT ProductName From Product WHERE Price < 87 |
> |
Mas grande que. | SELECT ProductName From Product WHERE Price > 77 |
<= |
Menos que igual a. | SELECT UnitsInStock From Product WHERE Price <= 68 |
>= |
Mayor que igual a. | SELECT UnitsInStock From Product WHERE Price >= 98 |
IS NULL |
Comprobar si un valor es NULL . |
SELECT ProductName From Product WHERE Description IS NULL |
IN |
En un rango. | SELECT * From Product WHERE Category IN ('Fruit','Vegetable') |
LIKE |
Se utiliza principalmente para la búsqueda de base de comodines. | SELECT ProductID From Product WHERE ProductName LIKE ? |
Operadores lógicos de consulta
Puedes combinar dos expresiones diferentes con el OR
y AND
expresiones para limitar aún más su consulta. También puede combinar operadores como NULL
, LIKE
, IN
, etc., con el NOT
operador para ampliar el alcance de su búsqueda. Todos estos operadores se explican a continuación con sus respectivos ejemplos.
Operador | Descripción | Uso (Ejemplo) |
---|---|---|
AND |
Recuperar un conjunto de resultados combinados para dos o más condiciones. | SELECT ProductID From Product WHERE ProductName = 'Chai' AND Category='Edibles' |
OR |
Recuperar el conjunto de resultados que cumple cualquier condición. | SELECT ProductID From Product WHERE ProductName = 'Chai' OR Category = 'Edibles' |
NOT |
Recuperar el conjunto de resultados que no coincide con los criterios dados. | SELECT ProductName From Product WHERE ProductID NOT IN (10,15,20) |
Funciones agregadas
Puede calcular el SUM
, COUNT
, AVG
, MIN
o MAX
para un conjunto de resultados de consulta específico utilizando las siguientes funciones.
Operador | Descripción | Uso (Ejemplo) |
---|---|---|
SUM |
Calcula la suma del conjunto de resultados para un criterio especificado. | SELECT SUM(Product.UnitsAvailable) From Product WHERE Category = ? |
COUNT |
Calcula el recuento del conjunto de resultados para un criterio especificado. | SELECT COUNT(*) From Product WHERE ShippingDate IS NULL |
AVG |
Calcula el promedio del conjunto de resultados para los criterios especificados. | SELECT AVG(Product.Price) From Product WHERE Category = ? |
MIN |
Devuelve el mínimo del conjunto de resultados para los criterios especificados. | SELECT MIN(Product.Price) From Product WHERE Category = ? |
MAX |
Devuelve el máximo del conjunto de resultados para los criterios especificados. | SELECT MAX(Product.Price) From Product WHERE Category = ? |
Observaciones
A continuación se muestran ejemplos de algunos otros operadores SQL compatibles con NCache demostrado en el contexto de la Producto clase.
Operador | Descripción | Uso (Ejemplo) |
---|---|---|
GROUP BY |
Agrupar datos basados en una función agregada. | SELECT Category, Count(*) FROM Product WHERE UnitsInStock < 15 GROUP BY Category |
ORDER BY |
Ordene el conjunto de resultados según los criterios en orden ascendente o descendente. | SELECT * FROM Product WHERE Category = 'Edibles' ORDER BY Price |
DateTime.Now |
Recuperar conjunto de resultados con respecto a la fecha y hora actual. | SELECT * FROM Order WHERE OrderDate < DateTime.Now |
DateTime |
Se refiere a cualquier cadena compatible con fecha y hora específica y le permite recuperar el conjunto de resultados con respecto a la fecha y hora especificada. | SELECT OrderID FROM Order WHERE OrderDate = DateTime('2000-1-1') |
Secuencias de escape
Mientras escribe las consultas en línea, ahora puede usar '
, \n
, \b
y \t
secuencias de escape como personajes. Los siguientes ejemplos explican esto con más detalle.
Secuencia de escape | Uso (Ejemplo) |
---|---|
' | SELECT * from FQN.Class where IndexedAttribute LIKE 'D\\'Angelo' |
\n | SELECT * from FQN.Class where IndexedAttribute LIKE 'D\\n Angelo' |
\b | SELECT * from FQN.Class where IndexedAttribute LIKE 'D\\b Angelo' |
\t | SELECT * from FQN.Class where IndexedAttribute LIKE 'D\\t Angelo' |
Con LIKE
operadores en consultas en línea, ahora puede utilizar los comodines *
y ?
para buscar como caracteres con la sintaxis \\*
y \\?
respectivamente. Los siguientes ejemplos explican esto en detalle:
Personajes | Uso (Ejemplo) |
---|---|
* | SELECT * from FQN.Class where IndexedAttribute LIKE 'Hello\\*World' |
? | SELECT * from FQN.Class where IndexedAttribute LIKE 'What is your name\\?' |
Vea también
.NETO: Alachisoft.NCache.Servicios al cliente espacio de nombres
Java: com.alachisoft.ncache.runtime.caching espacio de nombres
Nodo.js: cache clase.
Pitón: ncache.servicios al cliente clase.