Что означает значение ogi и gi в этом операторе SQL - PullRequest
0 голосов
/ 22 ноября 2018

Это код.Может кто-нибудь объяснить, что означают gi и ogi в этом утверждении?

UPDATE `oceansne_website08`.`oc_gallery_image_description` ogi
LEFT Join  `gallery_image_to_album` gi ON gi.image_id = ogi.gallery_image_id
SET
`gallery_album_id` = gi.album_id
WHERE ogi.gallery_album_id =0;

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Допустим, у вас есть таблица с именем MyVeryLongTableNameThatIFindTediousToWrite, и вы хотите присоединить ее к MyEvenLongerAndMoreTediousTableWithAnEvenLongerName

Вы можете написать:

SELECT * FROM mydb.MyVeryLongTableNameThatIFindTediousToWrite 
INNER JOIN  myotherdb.MyEvenLongerAndMoreTediousTableWithAnEvenLongerName 
ON mydb.MyVeryLongTableNameThatIFindTediousToWrite.id = myotherdb.MyEvenLongerAndMoreTediousTableWithAnEvenLongerName.otherId 
WHERE myotherdb.MyEvenLongerAndMoreTediousTableWithAnEvenLongerName.value > 100

Чтобы сделать ее более разборчивой, выможно использовать псевдоним, поэтому такой же выбор можно записать как:

SELECT * FROM mydb.MyVeryLongTableNameThatIFindTediousToWrite tbla
INNER JOIN  myotherdb.MyEvenLongerAndMoreTediousTableWithAnEvenLongerName  tblb
ON tbla.id = tblb.otherId 
WHERE tblb.value > 100

В некоторых вариантах SQL вместо этого нужно написать mydb.MyVeryLongTableNameThatIFindTediousToWrite AS tbla, но это немного не по теме для этого ответа

0 голосов
/ 22 ноября 2018

Это псевдоним;сокращенная форма ссылки на таблицы в вашем примере.

   UPDATE `oceansne_website08`.`oc_gallery_image_description` ogi
LEFT JOIN `gallery_image_to_album` gi 
       ON gi.image_id = ogi.gallery_image_id
      SET `gallery_album_id` = gi.album_id
    WHERE ogi.gallery_album_id =0

Здесь ogi ссылается на таблицу -> oceansne_website08. oc_gallery_image_description, а gi ссылается на таблицу -> gallery_image_to_album

...