Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/10/2006, 11h04   #1
Invité régulier
 
Inscription : juillet 2006
Messages : 50
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 50
Points : 8
Points : 8
Par défaut difference entre Oracle et Mysql

quelle erst la difference majeure entre oracle et mysql
quels sont les avantages d'oracle par rapport à mysql ??
bnoir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2006, 12h28   #2
Directeur Marketing
 
Avatar de Marc Lussac
 
Homme Marc Lussac
Responsable marketing opérationnel
Inscription : mars 2002
Messages : 26 358
Détails du profil
Informations personnelles :
Nom : Homme Marc Lussac
Localisation : Canada

Informations professionnelles :
Activité : Responsable marketing opérationnel
Secteur : Communication - Médias

Informations forums :
Inscription : mars 2002
Messages : 26 358
Points : 23 184
Points : 23 184
Tu à lu le comparatif SGBD ?
__________________
-> Ne pas me contacter pour le forum et je ne répondrai à aucune question technique -> Comment nous contacter
-> Pour partenariat ou publicité : Mon Email
Marc Lussac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2006, 12h30   #3
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 793
Points : 17 793
Oracle exploite des bases de données relationnelles depuis plus de 20 ans et certaines bases dépassent les 120 Téra octets.
MySQL exploite des bases de données RELATIONNELLES depuis moins de 2 ans et peu de bases exploitées de manière RELATIONNELLES dépassent quelque giga octets...

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2006, 13h31   #4
Membre Expert
 
Avatar de vtrone
 
Homme
Inscription : novembre 2005
Messages : 1 899
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : novembre 2005
Messages : 1 899
Points : 2 015
Points : 2 015
MySQL est à Oracle ce que DACIA est à Renault....
vtrone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2006, 22h22   #5
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Oracle est sans doute plus puissant, plus éprouvé, etc. Néanmoins, son dialecte SQL, qui a été à la pointe autrefois, est assez éloigné de la norme SQL (cela s'améliore) et surtout très pauvre. Ainsi, Oracle 10 ne permet pas le regroupement externe (j'ai même un doute sur le tri externe), ne connait pas la clause LIMIT, a une implémentation réduite du constructeur de ligne (alors qu'il a été l'un des premiers à mettre en place cette syntaxe).

Les versions 4.1 et 5 de MySQL apportent tout cela, ainsi que des innovations particulièrement intéressantes, notamment une optimisation des regroupements (qui permet d'écrire par exemple un requête comme SELECT Nom, Prenom ... GROUP BY IDpersonne) et la fonction d'agrégation par concaténation GROUP_CONCAT().

En gros, disons qu'Oracle est une grosse usine super puissante mais pas très innovante, tandis que la dernière version de MySQL est un petit labo de recherche, avec un côté un peu bricolo mais plein d'idées passionantes !


--
Antoun

Guide complet MySQL 5, par Antoine Dinimant, éd. MicroApplication
http://www.microapp.com/livre_mysql_7873.html
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 12h06   #6
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 793
Points : 17 793
Antoun raconte :
Citation:
Oracle est sans doute plus puissant, plus éprouvé, etc. Néanmoins, son dialecte SQL, qui a été à la pointe autrefois, est assez éloigné de la norme SQL (cela s'améliore) et surtout très pauvre. Ainsi, Oracle 10 ne permet pas le regroupement externe (j'ai même un doute sur le tri externe), ne connait pas la clause LIMIT, a une implémentation réduite du constructeur de ligne (alors qu'il a été l'un des premiers à mettre en place cette syntaxe).
clause LIMIT : cela n'existe pas en SQL (norme) en revanche il existe des outils purement SQL (à la norme) bie plus puissants pour ce faire : les fonction de fenêtrage. Oracle en implémente la plupart. Pas MySQL !

une implémentation réduite du constructeur de ligne : aucun SGBDR n'a une implémentation complète du ROW VALUE CONSTRUCTOR.

Antoun raconte aussi :
Citation:
Les versions 4.1 et 5 de MySQL apportent tout cela, ainsi que des innovations particulièrement intéressantes, notamment une optimisation des regroupements (qui permet d'écrire par exemple un requête comme SELECT Nom, Prenom ... GROUP BY IDpersonne) et la fonction d'agrégation par concaténation GROUP_CONCAT().
GROUP_CONCAT() : n'existe pas en SQL. En revanche pour des agrégats cumulatifs la norme SQL prévoit GROUP BY CUBE, GROUP BY ROLLUP, qui existe je crois sous Oracle.

CONCLUSION : vous démolissez Oracle en croyant faussement que ce que fait MySQL est meilleur. Mais MySQL est très loin d'implémenter toutes les finesses du langage SQL et de plus il est très anti normatif !

Oracle permet bien évidemment de faire beaucoup plus de choses, même s'il est effectivement en retard sur la norme SQL.

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 22h51   #7
Membre régulier
 
Développeur informatique
Inscription : octobre 2002
Messages : 79
Détails du profil
Informations personnelles :
Âge : 35

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2002
Messages : 79
Points : 97
Points : 97
Pour la moi la différence majeure c'est le prix ...
CiTriX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 23h31   #8
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Ah, un peu de bonne polémique instructive !

Citation:
Envoyé par SQLpro
clause LIMIT : cela n'existe pas en SQL (norme) en revanche il existe des outils purement SQL (à la norme) bie plus puissants pour ce faire : les fonction de fenêtrage. Oracle en implémente la plupart. Pas MySQL !
LIMIT n'est pas normée c'est exact ; elle correspond néanmoins au TOP de SQL Server et SyBase (sans les options PERCENT et WITH TIES). A ma connaissance, Oracle n'avait pas de mécanisme équivalent (à part placer des conditions sur le ROWNUM, mais cela force à faire une sous-requête).

Si tu me dis que les fonctions de fenêtrage, qu'effectivement je ne connaissais pas, permettent d'implémenter cela, je retire mon objection et je te remercie pour la leçon !

Citation:
Envoyé par SQLpro
une implémentation réduite du constructeur de ligne : aucun SGBDR n'a une implémentation complète du ROW VALUE CONSTRUCTOR.
J'ai bossé sur un Oracle 10g en juillet, et pas mal galéré pour faire des requêtes qui auraient été simples avec MySQL ou SQL Server. Parmi les tests, j'ai constaté, entre autres, que (col1, col2) < (constante1, constante2) marchait, mais que (col1, col2) < (col3, col4) ne fonctionnait pas (ou en tout cas pas dans les conditions de mon test - mais je te fais confiance pour infirmer mon diagnostic si ce n'est pas le cas ). MySQL 5 permet ce genre d'écriture sans problème.

Citation:
Envoyé par SQLpro
GROUP_CONCAT() : n'existe pas en SQL.
c'est exactement la raison pour laquelle je la présente comme une innovation de MySQL. Ta remarque est de mauvaise foi, ou alors tu es aveuglé par la mysqlophobie.

Comme tu ne sembles avoir aucune idée de ce qu'est une agrégation par concaténation (ou ne pas vouloir le savoir), permets-moi de te renvoyer à l'exemple 2 de ton article "éviter les curseurs sous MS SQL Server" http://sqlpro.developpez.com/cours/s...voidCursor/#L2.

Avec MySQL, il y aurait une solution bcp plus simple :

Code :
1
2
3
4
5
6
7
 
SELECT GROUP_CONCAT(
  JOR_PRENOM 
  ORDER BY  JOR_PRENOM
  SEPARATOR ', '
)
FROM   T_JOUEUR_JOR ;
Comme c'est une fonction d'agrégation comparable à SUM(), COUNT(), etc., on pourrait aller plus loin et faire par exemple la liste alphabétique des joueurs de chaque équipe en rajoutant juste une clause GROUP BY sur l'équipe.

Comme tu t'es toi-même penché sur le problème de l'agrégation par concaténation, je pense que tu reconnaîtras sans problème l'utilité et la simplicité de GROUP_CONCAT(), et que tu souhaiteras comme moi qu'elle soit intégrée à la prochaine normalisation de SQL.

Citation:
Envoyé par SQLpro
En revanche pour des agrégats cumulatifs la norme SQL prévoit GROUP BY CUBE, GROUP BY ROLLUP, qui existe je crois sous Oracle.
Tout ceci n'a pas grand-chose à voir avec la choucroute, mais j'en profite pour signaler que MySQL 5 implémente le ROLLUP mais pas le CUBE.

Citation:
Envoyé par SQLpro
CONCLUSION : vous démolissez Oracle en croyant faussement que ce que fait MySQL est meilleur. Mais MySQL est très loin d'implémenter toutes les finesses du langage SQL et de plus il est très anti normatif !

Oracle permet bien évidemment de faire beaucoup plus de choses, même s'il est effectivement en retard sur la norme SQL.
Je ne crois pas démolir Oracle. Je reconnais ses qualités tout en pointant ses retards (que tu reconnais toi-même), qui sont bcp moins connus, d'où le fait que je mette l'accent là-dessus.

Quant à MySQL, il est loin d'être parfait et je ne le prétend pas. Mais les versions 4.1 et 5 représentent un saut générationnel important. Ce SGBD propose maintenant la plupart des "finesses" du SQL, qui lui manquaient effectivement avant : contraintes d'intégrité référentielle, sous-requêtes, vues, procédures et fonctions stockées, triggers, collations, prepared statements, etc. Cela se fait parfois de manière un peu artisanale (par exemple, les vues ne sont pas compilées), mais en tout cas, il serait faux de dire qu'Oracle est meilleur à tous les points de vue.

Enfin, le dialecte de MySQL se rapproche de plus en plus de la norme ; au total il me semble sans doute moins éloigné que celui d'Oracle.

--
Antoun

Guide complet MySQL 5, par Antoine Dinimant, éd. MicroApplication
http://www.microapp.com/livre_mysql_7873.html
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2006, 07h38   #9
Rédacteur/Modérateur
 
Avatar de Erwy
 
Homme erwan
Développeur Web
Inscription : novembre 2003
Messages : 4 980
Détails du profil
Informations personnelles :
Nom : Homme erwan
Âge : 35
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2003
Messages : 4 980
Points : 8 021
Points : 8 021
Je vais uniquement prêché pour ma paroisse ici, mais les fonctionnalités xml intégré à ORACLE
comme la possiblité d'obtenir directement un format XML
- soit canonique, avec une procédure stocké très simple
- soit plus complexe avec XSQL (il y en à d'autre mais que je trouve moins pratique)
ou celle de valider un XML entrant (sortant aussi mais normallement l'intérêt est moindre)
sont des options qui dans mon cas me simplifie la vie
(On peut aussi effectuer des transformation mais la je trouve le proc oracle encore un peu faiblart et peu interessant).
Ce n'est peut être pas la pointe dans ce domaine , mais allié au reste cela en fait un ensemble très inintéressant
__________________
modérateur/rédacteur XML
Je ne reponds pas aux questions par MP

Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation
Erwy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2006, 11h20   #10
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par Antoun
Les versions 4.1 et 5 de MySQL apportent tout cela, ainsi que des innovations particulièrement intéressantes, notamment une optimisation des regroupements (qui permet d'écrire par exemple un requête comme SELECT Nom, Prenom ... GROUP BY IDpersonne) et la fonction d'agrégation par concaténation GROUP_CONCAT().
Ne parlerais-tu pas des fonctions analytiques ? http://lalystar.developpez.com/fonctionsAnalytiques/
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2006, 11h27   #11
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par Antoun
Comme c'est une fonction d'agrégation comparable à SUM(), COUNT(), etc., on pourrait aller plus loin et faire par exemple la liste alphabétique des joueurs de chaque équipe en rajoutant juste une clause GROUP BY sur l'équipe.
La clause WITH d'Oracle devrait pouvoir répondre à cette problèmatique non ?

Sinon, à mon avis vous n'arrivez pas à vous mettre d'accord parce que vous comparer le SGBD et le langage. A mon avis, si le SQL implémenté par MySQL apporte des aides intéressantes par rapport à Oracle, en revanche, son moteur n'est pas du tout à la hauteur de celui d'Oracle ni même des autres concurrents. On peut espérer que l'acquisition de InnoDB par Oracle permettra d'apporter des avantages comparables à MySQL
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2006, 13h39   #12
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Citation:
Envoyé par Fred_D
La clause WITH d'Oracle devrait pouvoir répondre à cette problèmatique non ?
à l'exemple SQL Server ???

Citation:
Envoyé par Fred_D
Sinon, à mon avis vous n'arrivez pas à vous mettre d'accord parce que vous comparer le SGBD et le langage. A mon avis, si le SQL implémenté par MySQL apporte des aides intéressantes par rapport à Oracle, en revanche, son moteur n'est pas du tout à la hauteur de celui d'Oracle ni même des autres concurrents.
Nous sommes donc d'accord
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2006, 14h12   #13
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Citation:
Envoyé par Fred_D
Ne parlerais-tu pas des fonctions analytiques ?
Non. Sauf gros caca dans l'oeil, je ne vois parmi les fonctions analytiques que cite Laly, comme parmi la liste complète de la doc Oracle, que des fonctions statistiques. GROUP_CONCAT() concatène des textes.

--
Antoun

Guide complet MySQL 5, par Antoine Dinimant, éd. MicroApplication
http://www.microapp.com/livre_mysql_7873.html
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2006, 15h53   #14
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
et group by col1||col2 ???
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2006, 17h54   #15
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 793
Points : 17 793
Au sujet du GROUP_CONCAT, dont je viens de saisir la chose; il s'agit donc d'une concaténation de chaines de caractères. Ceci est possible par une requête à la norme SQL:1999 en utilisant la technique des CTE (common Table Expression). En particulier DB2 et SQL Server 2005 implémente cela. Donc encore une fois un truc spécifique MySQL inutile et dangereux.

Pour une présentation complèete des CTE et de leurs possibilités :
http://www.sqlservercentral.com/colu...server2005.asp
un article de votre serviteur, traduit dans SQL Server magazine et qui devrait bientôt être posté dans SQLpro.developpez.com !

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2006, 14h13   #16
Xo
Expert Confirmé
 
Avatar de Xo
 
Inscription : janvier 2005
Messages : 2 701
Détails du profil
Informations personnelles :
Âge : 38

Informations forums :
Inscription : janvier 2005
Messages : 2 701
Points : 3 237
Points : 3 237
Envoyer un message via Skype™ à Xo
Citation:
Envoyé par CiTriX
Pour la moi la différence majeure c'est le prix ...
Oracle est gratuit et pas MySQL ?
__________________
"Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément." Nicolas Boileau

"Expliquer empêche de comprendre si cela dispense de chercher"

Quiz Oracle : venez tester vos connaissances !

La FAQ Oracle : 138 réponses à vos questions
Aidez-nous à la compléter
Xo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2006, 21h59   #17
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Citation:
Envoyé par Fred_D
et group by col1||col2 ???
col1||col2 est la concaténation de deux colonnes ; GROUP_CONCAT() est une agrégation (une fonction de GROUP BY), càd qu'elle concatène les valeurs des différentes lignes d'une même colonne.

Dit autrement, GROUP_CONCAT() est à || ce que SUM() est à +.
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2006, 22h02   #18
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Citation:
Envoyé par SQLpro
Au sujet du GROUP_CONCAT, dont je viens de saisir la chose; il s'agit donc d'une concaténation de chaines de caractères. Ceci est possible par une requête à la norme SQL:1999 en utilisant la technique des CTE (common Table Expression). En particulier DB2 et SQL Server 2005 implémente cela. Donc encore une fois un truc spécifique MySQL inutile et dangereux.
Il reste que GROUP_CONCAT() est bcp + simple que les CTE et parfaitement intégrée au système standard agrégation/regroupement. Mais là, je crains que nous n'en arrivions aux questions de goût !

--
Antoun

Guide complet MySQL 5, par Antoine Dinimant, éd. MicroApplication
http://www.microapp.com/livre_mysql_7873.html
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2006, 07h57   #19
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par Antoun
col1||col2 est la concaténation de deux colonnes ; GROUP_CONCAT() est une agrégation (une fonction de GROUP BY), càd qu'elle concatène les valeurs des différentes lignes d'une même colonne.

Dit autrement, GROUP_CONCAT() est à || ce que SUM() est à +.
A oui OK... en effet, sous Oracle ça peut être pénible mais un PL/SQL régle vite le souci
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2006, 08h54   #20
Xo
Expert Confirmé
 
Avatar de Xo
 
Inscription : janvier 2005
Messages : 2 701
Détails du profil
Informations personnelles :
Âge : 38

Informations forums :
Inscription : janvier 2005
Messages : 2 701
Points : 3 237
Points : 3 237
Envoyer un message via Skype™ à Xo
Citation:
Envoyé par Antoun
Il reste que GROUP_CONCAT() est bcp + simple que les CTE et parfaitement intégrée au système standard agrégation/regroupement. Mais là, je crains que nous n'en arrivions aux questions de goût !
Je reconnais pour ma part que cette fonction permet de répondre à un problème fréquemment posé sur le forum SQL, et dont la solution (cf cette proposition : #29) impose que le SGBD concerné réponde à la norme SQL 3, ou bien que l'utilisateur se tourne vers le langage procédural. Reste dans tous les cas le problèmes des performances ...
__________________
"Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément." Nicolas Boileau

"Expliquer empêche de comprendre si cela dispense de chercher"

Quiz Oracle : venez tester vos connaissances !

La FAQ Oracle : 138 réponses à vos questions
Aidez-nous à la compléter
Xo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h01.


 
 
 
 
Partenaires

Hébergement Web