phpMyAdmin und WHERE 1

Moin,

ich habe mal ne Frage bzgl. phpMyAdmin:

Wieso schreibt phpMyAdmin beim erstellen eines SQL-Befehls als Vorgabe
"SELECT * FROM 'TABELLENNAME' WHERE 1" (Ist mir gerade aufgefallen, da ein
Kollege es mir in phpMyAdmin gezeigt hat) ?

Was soll den dieses WHERE 1? Klingt für mich unlogisch.
Hat es auswirkungen bei einfachen select-anweisungen ohne das man
bedingungen wie where, and etc. einbindet? ich denke wohl eher nicht.

Den DBVisualizer z. B. schreibt WHERE 1 nirgends rein noch habe ich so
eine WHERE Bedingung woanders gesehen oder geschrieben.

Für Aufklärung bedanke ich mich :-)

Netten Gruß
Ben
Ben Butschko [ So, 20 Januar 2008 11:18 ] [ ID #1912579 ]

Re: phpMyAdmin und WHERE 1

Ben Butschko schrieb:

> Wieso schreibt phpMyAdmin beim erstellen eines SQL-Befehls als Vorgabe
> "SELECT * FROM 'TABELLENNAME' WHERE 1" (Ist mir gerade aufgefallen, da ein
> Kollege es mir in phpMyAdmin gezeigt hat) ?

Ich weiß auch nicht, warum phpMyAdmin "SELECT *" vorgibt. Ich vermute
mal, dass dies nur ein Template darstellen soll, in welchem man den "*"
durch seine eigene Auswahl ersetzen soll(te).

> Was soll den dieses WHERE 1?

Hierfür gilt Ähnliches.

> Klingt für mich unlogisch.

"SELECT *" selektiert alle Spalten und "WHERE 1" alle Zeilen. Ohne
Veränderung wird also die gesamte Tabelle selektiert. Klingt für mich
logisch.

Gruß. Claus
Claus Reibenstein [ So, 20 Januar 2008 11:47 ] [ ID #1912580 ]

Re: phpMyAdmin und WHERE 1

Hi Ben

Ben Butschko wrote:
> ich habe mal ne Frage bzgl. phpMyAdmin:
> Wieso schreibt phpMyAdmin beim erstellen eines SQL-Befehls als Vorgabe
> "SELECT * FROM 'TABELLENNAME' WHERE 1" (Ist mir gerade aufgefallen, da ein
> Kollege es mir in phpMyAdmin gezeigt hat) ?
> Was soll den dieses WHERE 1? Klingt für mich unlogisch.
> Hat es auswirkungen bei einfachen select-anweisungen ohne das man
> bedingungen wie where, and etc. einbindet? ich denke wohl eher nicht.

Manchmal ist es programmiertechnisch noch ganz praktisch, schon
vorgegeben zu haben, dass ein where existiert:

sql = "select ... from table where 1 ";
$sql.= (empty($searchA)) ? '' : "and fieldA like '$searchA%'";
$sql.= (empty($searchB)) ? '' : "and fieldB like '$searchB%'";

Hier wären die Anhängsel komplizierter, wenn where 1 nicht schon
vorhanden wäre.

HTH, Johannes
Johannes Vogel [ So, 20 Januar 2008 17:24 ] [ ID #1912581 ]

Re: phpMyAdmin und WHERE 1

Ben Butschko schrieb:

> Was soll den dieses WHERE 1? Klingt für mich unlogisch.

Technisch gesehen ist es völlig wirkungslos. Es bringt schlicht und
einfach den Komfort, dass das WHERE da schon steht und die Query
trotzdem syntaktisch in Ordnung ist.

MfG
Niels

--
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Niels Braczek [ So, 20 Januar 2008 19:43 ] [ ID #1912582 ]

Re: phpMyAdmin und WHERE 1

Ad 2008-01-20, Johannes Vogel <newsgroups [at] jvogel.ch> dixit:
> Ben Butschko wrote:

>> ich habe mal ne Frage bzgl. phpMyAdmin: Wieso schreibt phpMyAdmin
>> beim erstellen eines SQL-Befehls als Vorgabe "SELECT * FROM
>> 'TABELLENNAME' WHERE 1" (Ist mir gerade aufgefallen, da ein
>> Kollege es mir in phpMyAdmin gezeigt hat) ? Was soll den dieses
>> WHERE 1? Klingt für mich unlogisch. Hat es auswirkungen bei
>> einfachen select-anweisungen ohne das man bedingungen wie where,
>> and etc. einbindet? ich denke wohl eher nicht.

> Manchmal ist es programmiertechnisch noch ganz praktisch, schon
> vorgegeben zu haben, dass ein where existiert:

> sql = "select ... from table where 1 ";
> $sql.= (empty($searchA)) ? '' : "and fieldA like '$searchA%'";
> $sql.= (empty($searchB)) ? '' : "and fieldB like '$searchB%'";

> Hier wären die Anhängsel komplizierter, wenn where 1 nicht schon
> vorhanden wäre.

Diese Antwort wollte ich auch geben, habe es aber wegen der
Unsinnigkeit im Falle eines gewuenschten Oderierens seingelassen.
Nur bei "AND" nutzt es, da hast Du Recht.

Grusz,

Peter Blancke

--
Hoc est enim verbum meum!
Peter Blancke [ Mo, 21 Januar 2008 14:13 ] [ ID #1913346 ]
PHP » de.comp.lang.php.datenbanken » phpMyAdmin und WHERE 1

Vorheriges Thema: PDO und Slow Query Log
Nächstes Thema: Anfängerfrage:Stored Procedure aus MySQL aufrufen