SELECT UNIQUEest une ancienne syntaxe prise en charge par la version Oracle de SQL. C'est synonyme de SELECT DISTINCT.
À utiliser SELECT DISTINCTcar il s'agit de SQL standard et SELECT UNIQUEnon standard, et dans les marques de base de données autres qu'Oracle, SELECT UNIQUEpeut ne pas être reconnu du tout.
Unique est un mot-clé utilisé dans la directive Create Table () pour indiquer qu'un champ contiendra des données uniques, généralement utilisées pour les clés naturelles, les clés étrangères, etc.
c'est-à-dire que le numéro de sécurité sociale de quelqu'un serait probablement un champ unique dans votre table, mais pas nécessairement la clé primaire.
Distinct est utilisé dans l'instruction Select pour informer la requête que vous ne souhaitez que les éléments uniques renvoyés lorsqu'un champ contient des données qui peuvent ne pas être uniques.
SelectDistinct Emp_LNameFrom Employee
Vous pouvez avoir plusieurs employés avec le même nom de famille, mais vous ne voulez que chaque nom de famille différent.
Évidemment, si le champ que vous interrogez contient des données uniques, le mot-clé Distinct devient superflu.
Vous voudrez peut-être que les numéros de sécurité sociale soient uniques, mais ils ne le sont pas. Par exemple: dailyfinance.com/2010/08/12/…
aij
18
select unique n'est pas une syntaxe valide pour ce que vous essayez de faire
vous voulez utiliser soit select distinct, soit select distinctrow
Et en fait, vous n'avez même pas besoin de ligne distincte / distincte dans ce que vous essayez de faire. Vous pouvez éliminer les doublons en choisissant les paramètres appropriés de l'instruction union.
la requête ci-dessous en elle-même ne fournira que des valeurs distinctes
select col from table1 unionselect col from table2
si vous vouliez des doublons, vous devrez faire
select col from table1 unionallselect col from table2
si je ne me trompe pas, Oracle vous permet de le dire select unique..., bien que je préfère faire de la manière standard.
asgs
3
Uniquement dans Oracle =>
SELECT DISTINCTet SELECT UNIQUEse comportent de la même manière. Alors que DISTINCT est la norme SQL ANSI, UNIQUE est une instruction spécifique à Oracle.
Dans d'autres bases de données (comme sql-server dans votre cas) =>
SELECT UNIQUEest une syntaxe invalide. UNIQUEest un mot clé pour ajouter une contrainte unique sur la colonne.
Unique était l'ancienne syntaxe tandis que Distinct est la nouvelle syntaxe, qui est maintenant le SQL standard.
Unique crée une contrainte selon laquelle toutes les valeurs à insérer doivent être différentes des autres. Une erreur peut être constatée si l'on essaie d'entrer une valeur en double.
Distinct entraîne la suppression des lignes en double lors de la récupération des données.
Exemple: SELECT DISTINCT noms FROM étudiant;
CREATE TABLE Persons (Id varchar NOT NULL UNIQUE , Name varchar (20));
select unique n'est pas une syntaxe valide pour ce que vous essayez de faire
vous voulez utiliser soit select distinct, soit select distinctrow
Et en fait, vous n'avez même pas besoin de ligne distincte / distincte dans ce que vous essayez de faire. Vous pouvez éliminer les doublons en choisissant les paramètres appropriés de l'instruction union.
la requête ci-dessous en elle-même ne fournira que des valeurs distinctes
si vous vouliez des doublons, vous devrez faire
la source
select unique...
, bien que je préfère faire de la manière standard.Uniquement dans Oracle =>
SELECT DISTINCT
etSELECT UNIQUE
se comportent de la même manière. Alors que DISTINCT est la norme SQL ANSI, UNIQUE est une instruction spécifique à Oracle.Dans d'autres bases de données (comme sql-server dans votre cas) =>
SELECT UNIQUE
est une syntaxe invalide.UNIQUE
est un mot clé pour ajouter une contrainte unique sur la colonne.CHOISIR DISTINCT
la source
Exemple: SELECT DISTINCT noms FROM étudiant;
CREATE TABLE Persons (Id varchar NOT NULL UNIQUE , Name varchar (20));
la source