“Conocimiento software>SQL Server

Cuando existen nombres de columnas duplicados en una base de datos y debe indicar que se refieren?

2013/5/28
Cuando existen nombres de columnas duplicados en una base de datos (a menudo en diferentes tablas, pero posiblemente incluso dentro de una sola tabla si usa algunas características de base de datos menos comunes), debe calificar el nombre de la columna para evitar la ambigüedad. Esto se hace especificando la tabla (u otro alcance) a la que pertenece la columna. La sintaxis varía ligeramente según el sistema de base de datos específico (dialecto SQL), pero el principio general sigue siendo el mismo.

Así es como lo haría en varios sistemas de bases de datos comunes:

1. Uso de alias de tabla (enfoque más común y recomendado):

Este es generalmente el método más limpio y eficiente. Le da a cada tabla un alias más cortos, luego usa el alias para hacer referencia a las columnas.

`` `SQL

- Ejemplo:suponga que tiene tablas 'pedidos' y 'clientes' ambos con una columna llamada 'ID'

Seleccione O.ID como orden_id, c.id como customer_id

De los pedidos o

Únase a los clientes c en o.customer_id =c.id;

`` `` ``

En este ejemplo, `O.ID` se refiere a la columna` ID` en la tabla 'Orders', y `C.ID` se refiere a la columna 'ID` en la tabla' CLIENTES '. La palabra clave `as` crea nombres de columnas más descriptivos en el conjunto de resultados.

2. Uso de nombres de tabla totalmente calificados:

Esto es menos conciso pero funciona de manera confiable. Utiliza el esquema completo y el nombre de la tabla para calificar la columna. La parte del esquema a menudo es opcional si está trabajando dentro del esquema predeterminado.

`` `SQL

- Ejemplo (suponiendo que el esquema sea 'mydb'):

Seleccione mydb.orders.id como orden_id, mydb.customers.id como customer_id

De mydb.orders

Únase a mydb.customers en mydb.orders.customer_id =mydb.customers.id;

`` `` ``

3. Uso de nombres de objetos de la base de datos (para escenarios muy complejos):

En situaciones excepcionalmente complejas con múltiples bases de datos o esquemas involucrados, es posible que deba calificar completamente la columna con base de datos, esquema y nombre de la tabla.

Consideraciones importantes:

* Sistema de base de datos: La sintaxis exacta (por ejemplo, citando convenciones para nombres de tabla y columna) puede diferir ligeramente entre las bases de datos (MySQL, PostgreSQL, SQL Server, Oracle, etc.). Consulte la documentación de su sistema de base de datos para las reglas precisas.

* Manejo de errores: La mayoría de los sistemas de bases de datos producirán un error si un nombre de columna es ambiguo sin calificación * a menos que * el contexto deja absolutamente claro qué columna está prevista (por ejemplo, en una cláusula `where" que hace referencia solo a una tabla). Es la mejor práctica calificar siempre los nombres de las columnas cuando hay potencial para la ambigüedad.

* Legabilidad: El uso de alias mejora significativamente la legibilidad de sus consultas SQL, lo que hace que sean más fáciles de entender y mantener.

En resumen, el uso de alias de tabla es el método preferido para resolver nombres de columnas ambiguas porque es claro, conciso y eficiente. Siempre califique los nombres de su columna cuando se trata de una posible ambigüedad para evitar errores y mejorar la capacidad de mantenimiento del código de su base de datos.

SQL Server
Cómo restablecer la contraseña SA para SQL Server 2008
¿Qué son los comandos SQL?
Cómo migrar datos de acceso a un SQL Server
Cómo crear una base de datos en SQL Server 2005 Express
Máximo SQL Server Express Tamaños
Perspectivas Error Fatal : Microsoft ODBC SQL Server controlador de tiempo de espera
Cómo comparar SQL Server y Oracle
Comparación de versiones de Microsoft SQL Server
Conocimiento de la computadora © http://www.ordenador.online