sql - columns - inner join r dplyr
Diferencia entre Select Unique y Select Distinct (5)
Solo en Oracle =>
SELECT DISTINCT
y SELECT UNIQUE
comportan de la misma manera. Si bien DISTINCT es el estándar ANSI SQL, UNIQUE es una declaración específica de Oracle.
En otras bases de datos (como sql-server en su caso) =>
SELECT UNIQUE
es una sintaxis no válida. UNIQUE
es una palabra clave para agregar restricciones únicas en la columna.
Pensé que estos eran sinónimos, pero escribí lo siguiente en Microsoft SQL:
Select Unique col from
(select col from table1 union select col from table2) alias
Y falló Cambiando a
Select Distinct col from
(select col from table1 union select col from table2) alias
arreglado. ¿Alguien puede explicar?
- Único fue la sintaxis antigua, mientras que Distinct es la nueva sintaxis, que ahora es el sql estándar.
- Unique crea una restricción de que todos los valores que se insertan deben ser diferentes de los demás. Se puede atestiguar un error si uno intenta ingresar un valor duplicado. Resultados distintos en la eliminación de las filas duplicadas al recuperar datos.
Ejemplo: SELECCIONAR nombres DISTINCT FROM student;
CREAR TABLA Personas (Id varchar NOT NULL UNIQUE , Name varchar (20));
Único es una palabra clave utilizada en la directiva Create Table () para indicar que un campo contendrá datos únicos, generalmente utilizados para claves naturales, claves externas, etc.
Por ejemplo:
Create Table Employee(
Emp_PKey Int Identity(1, 1) Constraint PK_Employee_Emp_PKey Primary Key,
Emp_SSN Numeric Not Null Unique,
Emp_FName varchar(16),
Emp_LName varchar(16)
)
es decir, el número de seguridad social de alguien probablemente sea un campo único en su tabla, pero no necesariamente la clave principal.
Distinct se usa en la instrucción Select para notificar a la consulta que solo desea que se devuelvan los elementos únicos cuando un campo contiene datos que pueden no ser únicos.
Select Distinct Emp_LName
From Employee
Puede tener muchos empleados con el mismo apellido, pero solo quiere cada apellido diferente.
Obviamente, si el campo que está consultando contiene datos únicos, la palabra clave Distinct se vuelve superflua.
select unique no es una sintaxis válida para lo que estás tratando de hacer
desea usar ya sea seleccionar distintivo o seleccionar distinctrow
Y, de hecho, ni siquiera necesitas diferenciar / distinguir en lo que estás tratando de hacer. Puede eliminar duplicados eligiendo los parámetros de declaración de unión apropiados.
la consulta a continuación solo proporcionará valores distintos
select col from table1
union
select col from table2
si querías duplicados tendrías que hacer
select col from table1
union all
select col from table2
SELECT UNIQUE
es la sintaxis antigua compatible con el sabor de SQL de Oracle. Es sinónimo de SELECT DISTINCT
.
Use SELECT DISTINCT
porque es SQL estándar, y SELECT UNIQUE
no es estándar, y en las marcas de bases de datos que no sean Oracle, SELECT UNIQUE
puede no ser reconocido en absoluto.