consejos prácticos un servidor SQL Server

1, Descripción: Copiar tabla (estructura sólo replicado, nombres de las tablas de origen: un nuevo nombre de la tabla: b) (Acceso disponible)
Método a: SELECT EN DONDE A de B 1 <> 1 (sólo para SQLServer)
Segundo método: seleccione la parte superior 0
eN a de B
2, Descripción: mesa de copia (copia el nombre de la tabla fuente de datos: un nombre de tabla de destino: b) (Acceso disponible)
INSERT INTO B (a, B, C) SELECT D, E, F de a;

select * en B a partir de una

3, descripción: copiar entre la tabla de base de datos cruz (datos específicos utilizando una ruta absoluta) (Acceso disponible)
INSERT INTO B (A, B, C) SELECT D, E, F de la A en 'base de datos específica' donde las condiciones
Ejemplos: .de una en ' "& Server.MapPath ( ". ") y" \ Data.mdb "&"', donde ..

4, Descripción: subconsultas (tabla 1: una mesa 2: B)
SELECT A, B, C de A donde A la IN (SELECT D de B) o: seleccionar a, b, c de un donde un IN (1 2, 3)

5, Descripción: Artículos que muestran, el autor y el último tiempo de respuesta
seleccionar a.title, a.username, b.adddate de la mesa a, (SELECT MAX (adddate) adddate de la tabla donde table.title = a.title) b

6, descripción: combinación externa consulta (tabla 1: una mesa 2: B)
SELECT AA, AB y, AC, BC, BD, BF el LEFT OUT de la unirse a un AA B = ON BC

7, Descripción: vista de consulta en línea (tabla de nombres 1:. A)
. SELECT * from (SELECT A, B, C A la DE) TA donde t> 1;

8, descripción: entre el uso, incluyendo los valores límite entre límite de intervalo de datos de consulta, no entre no incluir
* SELECT de tabla1 DONDE tiempo entre TIME1 y TIME2
SELECT A, B, C, de la Tabla1 DONDE A No entre el valor 1 y el valor 2

9, descripción: en el uso de
select * from tabla1 donde un [no ] en ( ' 'valor 2' valor 1', '4 valor', 'valor 6')

10, Descripción: Dos tablas relacionadas, eliminar la tabla principal no tiene información sobre las mesas laterales
eliminar de tabla1 donde no existe (seleccionar * desde tabla2 donde table1.field1 = table2.field1)

11,说明:四表联查问题:
seleccionar * de un interior izquierdo unirse b en aa = bb derecho combinación interna c en aa = cc combinación interna D en aa = dd donde .....

12, Descripción: El programa de cinco minutos de antelación para recordar a
SQL: SELECT * FROM horario donde datediff ( 'minuto', hora de inicio f, getdate ())> 5

13, Descripción: una declaración SQL para obtener la ficha de la base de datos
de selección de los 10 b * FROM (SELECT top 20 campos de clave primaria, campo de clasificación de la orden de la tabla por desc campo de clasificación) a, en la tabla b, donde b campo de clave principal = un campo de clave principal ... . ordenado por un campo de ordenación
realización:
página de la base de datos acerca de:

declarar int @Start, @ int final

nvarchar @sql (600)

establecer @ sql = 'select top' + str (@ @ End-start + 1) + '+ de T, donde deshace no en (seleccione top' + str (@ str-1) + 'Deshacerse de T, donde Rid> -1 )'

exec sp_executesql @sql
Nota: no con una variable, por lo que la única forma de trato especial en aplicaciones prácticas directamente después de la parte superior. Rid es una columna de identidad, si hay campo superior específica, esto es muy bueno. Debido a evitar inconsistente el campo superior si el índice lógico, los resultados de la consulta en la tabla real (datos en el índice lógico y posibles inconsistencias en la tabla de datos, mientras que el índice de la primera consulta, si el índice de consulta)

14, descripción: las primeras 10 filas
10 forma * tabla1 donde el rango superior seleccionar

15, Descripción: De 10 a 15 de la grabación
SELECT Top 5. A partir de (SELECT Top 15 de la Tabla ID Ordenar por ASC) Alluminium orden Alias por desc ID

seleccionar a partir de (seleccione la parte superior 5 a partir de (seleccione la parte superior 15 * de orden de la tabla por asc id) Alluminium别名orden por el desc id) Alluminium别名orden por asc Identificación

16, Descripción: Eliminar 10 datos aleatorios
seleccionar 10 * superior de orden nombredetabla por newid ()

17, Descripción: escogido al azar
seleccione newid ()

Generar una pluralidad de Guid:

--Create #GuidList TABLA (Id int, Gid uniqueidentifier)

-- VAMOS

- los tiempos de ciclo de ejecución

--Insert EN #GuidList (GID) newid SELECT ()

--ir 100

--select * desde #GuidList

18, la búsqueda de registros:
comienzan a N registros
Selección Top N * de la tabla

M a N registros (para tener el índice de identificación principal)
Seleccionar el MN * Inicio del ID de la tabla donde en (Selección Top M ID A partir de la Tabla) Ordenar por ID descripción

N para finalizar la grabación
Selección Top N * De la Tabla Ordenar por ID descripción
Caso
ejemplo 1: una tabla tiene más de diez mil registros, la mesa RECID primer campo es campos de auto-crecimiento, escribir una sentencia SQL, encontrar la primera tabla 31 al registro 40a.

seleccionar 10 recid superior de A, donde no recid en (seleccione la parte superior 30 recid de A)

Análisis: Si escribir tendrá algunos problemas si hay un índice recid lógico en la tabla.

seleccione 10 recid superior de A, donde ...... Encuentre el índice es, mientras que la parte posterior de selección de la parte superior 30 de la A recid en los datos de la tabla de consulta, por lo que debido a que el índice secuencial y posibles inconsistencias en la tabla de datos, lo que conduce a la consulta no se va a obtener los datos originales.

soluciones

1, con el fin de selecto top 30 recid de una orden por ricid Si el campo no es auto-crecimiento, habrá un problema

2, en que una subconsulta también añadir condiciones: seleccione la parte superior 30 recid de A donde recid> -1

Ejemplo 2: Consulta la tabla al último registro, no sabe la cantidad de datos, la estructura de esta tabla y el total de la tabla.
conjunto @s = 'Selecciona superior 1 * de T donde no pid en (seleccione top' + str (@ contar-1) + 'pid de T)'

imprimir @s exec sp_executesql @s

19, Descripción: seleccionar un máximo de grabación toda la información correspondiente a los mismos datos de valor b en cada grupo (como este foro para una lista mensual lata uso, análisis mensual de productos de venta, situándose en el rendimiento por tema, y similares.)
SELECT A, B, C de TA TableName donde A = (SELECT max (A) de TB TableName DONDE tb.b = ta.b)

20, Descripción: Precio tipo, vendedor, campo de piezas a disposición del tipo de terreno, la caja puede alcanzar fácilmente de opción múltiple, seleccione el caso similar.
seleccionar el tipo, suma (caso vendedor cuando 'A' entonces pcs else 0 finales), suma (caso vendedor cuando 'C', entonces PC else 0 finales), suma (caso vendedor cuando 'B', entonces PC else 0 finales) del grupo nombredetabla por tipo
Mostrar resultados:
tipo vendedor PCS
PC A 1
ordenador B 1
disco B 2
disco A 2
móvil B 3
Mobile C 3

Supongo que te gusta

Origin blog.51cto.com/14630964/2476394
Recomendado
Clasificación