SQL est sensible à la casse.SELECT nom_magasin, num-magasin, montant_facture
FROM Magasin, Factures
WHERE magasin.num_magasin=factures.num-magasin And montant_facture>=1500;
Ce n'est pas vrai.SQL est sensible à la casse.
1) Quoique tu fasses, quand tu écris num-magasin, ce n'est pas num_magasin.SELECT nom_magasin, num-magasin, montant_facture
FROM Magasin, Factures
WHERE Magasin.num_magasin=Factures.num_magasin and montant_facture>=1500;
Code : Tout sélectionner
SELECT Magasin.nom_magasin, Magasin.num_magasin, Factures.montant_facture
FROM Magasin, Factures
WHERE Magasin.num_magasin=Factures.num_magasin and Factures.montant_facture>=1500;
Code : Tout sélectionner
SELECT mag.nom_magasin, mag.num_magasin, fac.montant_facture
FROM Magasin mag, Factures fac
WHERE mag.num_magasin = fac.num_magasin
AND fac.montant_facture>=1500;Je confirme : on ne peut pas dire que SQL est sensible à la casse ou pas.Caroube => quand je disais sensible à la casse j'entendais qu'il ne comprendrait pas que "Magasin" et "magasin" sont une seule et même table (à moins que la dernière version de SQL le prenne en charge, ça je ne peux pas le dire je n'y suis pas encore passée).
Au risque de passer pour un emm..., je dis non, ce n'est pas une bonne idée. Cette apostrophe ` est un pis-aller dans les cas où l'on est obligé d'avoir des noms de champs qui comportent des espaces, des accents, des mots réservés, ...Dans ce cas je vous conseille d'utiliser l'écriture plus spécifique de SQL qui consiste à encadrer le nom des champs avec des ` (touches Alt Gr + 7).
je ne parle pas du natural join (syntaxe haïssable à mon avis), mais de l'ambiguité de ce qu'il y a entre le select et le from. Si vous avez deux tables avec un même nom de champ, vous ne pouvez pas faire la requête sans préfixer (imaginez que les identifiants de Produit et de magasin s'appellent id)Concernant le fait que num_magasin soit un champs ambigu, ici il n'y a pas d'ambiguité, c'est bien une valeur commune à deux tables, d'où la possibilité d'un NATURAL JOIN.