Red de conocimiento informático - Conocimiento del nombre de dominio - Para resumir qué sintaxis SQL SQLite no admite

Para resumir qué sintaxis SQL SQLite no admite

1 TOP

Esta es una pregunta frecuente. Por ejemplo, en SQLSERVER, puede utilizar la siguiente declaración para obtener los primeros diez registros del conjunto de registros:

SELECT TOP 10 *. FROM [index] ORDER BY indexid DESC;

Pero esta declaración SQL no es ejecutable en SQLite y no se puede ejecutar. Debe cambiarse a:

SELECT * FROM [index] ORDER. BY indexid DESC límite 0,10;

El límite 0,10 significa comenzar desde el registro 0 y leer 10 registros hacia atrás

2 Crear una vista

2 Crear vista

Esta es la vista de creación de SQLite SQL Server. Crear una vista)

SQLite tiene un error al crear una vista de varias tablas. El problema es el siguiente:

Crear VIEW watch_single AS SELECT DISTINCT watch_item.[watchid],watch_item.

SELECT COUNT(*) FROM [watch_single ] WHERE watch_ single.watchid = 1;

La instrucción SQL anterior se ejecutará con éxito, pero de hecho no podrá ejecutarse excepto

SELECT COUNT(*) FROM [watch_single] Cualquier declaración que no sea WHERE watch_ single.watchid = 1;

. La razón es que la vista se crea con el nombre de la tabla en la que se encuentra el campo y SQLite no la reconoce correctamente. Por lo tanto, la declaración de creación anterior debería ser:

CREATE VIEW watch_single AS SELECT DISTINCT [watchid],[itemid] FROM watch_item;

Pero el problema surge si la vista es múltiple. -vista de tabla, ¿Qué debo hacer si hay campos duplicados entre tablas? ¿Qué hacer?

3 COUNT(columna DISTINCT)

SQLite generará un error al ejecutar la siguiente instrucción:

SELECT COUNT(DISTINCT watchid) FROM [watch_item] WHERE watch_item.watchid = 1;

La razón por la que esto sucede es que ninguna de las funciones integradas de SQLite admite la calificación DISTINCT, por lo que tendrá algunos problemas si desea contar el número de registros únicos. Un enfoque más factible es crear primero una vista de la tabla de registros distintos y luego contar la vista.

4 uniones externas

Aunque SQLite afirma oficialmente haber implementado LEFT OUTER JOIN, no ha implementado RIGHT OUTER JOIN ni FULL OUTER JOIN. Las pruebas reales muestran que no parece funcionar. adecuadamente.

Las siguientes tres declaraciones reportan errores cuando se ejecutan:

SELECT tags.[tagid] FROM [tags],[tag_rss] WHERE tags.[tagid] = tag_rss.[tagid](*);

SELECCIONE etiquetas.[tagid] DESDE [[etiquetas],[tag_rss] DONDE etiquetas.[tagid] = tag_rss.[tagid](*);

SELECCIONE etiquetas.[tagid] DESDE [ etiquetas ],[tag_rss] DONDE etiquetas.[tagid] = tag_rss.[tagid](*);

SELECCIONAR etiquetas.tagid] = etiquetas.[tagid];

SELECCIONAR etiquetas .[tagid] DESDE [etiquetas],[tag_rss] DONDE IZQUIERDA EXTERIOR JOIN tag_rss.