Colección de citas famosas - Diccionario de frases chinas - ¿Qué significa "seleccionar 1 de la tabla" en Oracle?

¿Qué significa "seleccionar 1 de la tabla" en Oracle?

El uso de Seleccionar 1 de la tabla y Seleccionar * de la tabla es similar. El análisis específico es el siguiente:

1. Seleccione 1 de mi tabla; y seleccione anycol (cualquier fila en el conjunto de la tabla de destino) de mytable, no hay diferencia con select * de mytable; compruebe si hay registros, generalmente utilizados para las condiciones. El 1 en seleccionar 1 de es una constante, y el valor de todas las filas encontradas lo es, pero en términos de eficiencia, 1>anycol gt*, porque no es necesario buscar en el diccionario.

2. Utilice select sum(1) para verificar el número de registros de mytable; equivalente a seleccionar sum(*) de mytable;

3. >

seleccione c_insrnc_cde,c_nme_cn

De t_prd_ins a

donde a.c_prod_no='01'

No existe

(seleccione 1

De (seleccione d.c_insrnc_cde,a.c_nme_cn

De t_prd_ins a,

tb_bas_ply_policy_rdr c,

tb_bas_ply_policy_rdr_list d

donde a.c_insrnc_cde = d.c_insrnc_cde

d.c_policy_id = c.c_policy_id

y d.c_seq_no = c.c_seq_no

Y a.c_kind_no='01'

Y c.c_DPT_CDE='101' - sacar la institución en el árbol de instituciones

Y c.c_prod_no='01'

y c.t_effc_tmlt=deadline('5 de septiembre de 2007', 'AAAA-MM-DD')

y c.t_expd_tm》=Fecha de vencimiento('5 de septiembre de 2007' ,'AAAA-MM-DD')

Y c.c_work_mode='00501'

p>

Y c . p>) t

Donde t . c _ ins RNC _ CDE = a . c _ ins RNC _ CDE);

Escenario de prueba:

La tabla es una tabla de datos, suponiendo que el número de filas de la tabla es 10.

1: Seleccionar 1 de la tabla agrega una columna temporal. El valor de la columna de cada fila es el número escrito después de seleccionar, que es 1 en esta declaración SQL.

2: Seleccione count(1) de la tabla No importa cómo cambie el valor de a of count(a), el valor obtenido siempre es el número de filas de la tabla.

3: seleccionar suma(1) de la tabla calcula la suma de las columnas temporales.

Probado usando 1 en SQL SERVER, los resultados son los siguientes:

1: Los resultados de la prueba muestran que hay una columna temporal con el mismo número de filas que la tabla (I todavía no sé cómo llamarlo), el valor de la columna de cada fila es 1

2: obtiene un número, que es el número de filas en la tabla

; 3: Obtenga un número, que es el número de filas en la tabla.

Luego usé "2" para probar y los resultados son los siguientes:

1: Obtenga un columna temporal con el mismo número de filas que la tabla, y el valor de la columna de cada fila es 2;

p>

2: obtiene un número, que es el número de filas en la tabla ;

3: obtiene un número, que es el número de filas en la tabla ×2.

Luego probé con un número mayor:

1: Obtenga una columna temporal con el mismo número de filas de la tabla, el valor de la columna de cada fila es lo que escribí después de seleccionar el número;

2: aún obtiene un número, es decir, el número de filas en la tabla.

3: obtiene un número, que se escribe después de seleccionar el número de filas en la tabla; número.

Para resumir: el primer método es agregar una columna temporal, el valor de la columna de cada fila es el número escrito después de seleccionar, el segundo método no importa cómo sea el valor de a de count(a); cambios, el valor obtenido es siempre el número de filas de la tabla; el tercero es para calcular la suma de las columnas temporales.

La declaración si no existe (seleccione 1 de la unión d eliminada insertada I en d. id = I.id.

And d.col1=1 and i.col1=2)

Si no existe, no existe.

(...) Esto debería ser una actualización de validación. La identificación antes de la actualización es igual a la identificación después de la actualización. El valor de col antes de la actualización es 1 y el valor después de la actualización es 2.