Какова функция T в моем sql - PullRequest
0 голосов
/ 28 мая 2018

Я наткнулся на этот SQL-скрипт, он работает так, как задумано, но я пытался выяснить, как в скрипте используется функция T .

 sprintf("SELECT username 
FROM (SELECT * FROM users
      WHERE spillover_sponsor=%s 
      ORDER BY unique_id DESC 
      LIMIT 3) t
ORDER BY unique_id ASC LIMIT 1", GetSQLValueString($_POST['mysponsor'], "text"));

Ответы [ 4 ]

0 голосов
/ 28 мая 2018

Другие ответы охватили, что такое t.Что еще более важно, это не нужно.Вы можете написать запрос с помощью offset и не использовать подзапрос:

SELECT u.*
FROM users u
WHERE u.spillover_sponsor = %s 
ORDER BY u.unique_id DESC 
LIMIT 3 OFFSET 2;

О, смотри!Я использовал u в качестве псевдонима таблицы для users.Это точно такая же идея, как t.

0 голосов
/ 28 мая 2018

t - здесь псевдоним для результирующей таблицы этой части вашего SQL-запроса:

  SELECT * FROM users
  WHERE spillover_sponsor=%s 
  ORDER BY unique_id DESC 
  LIMIT 3

Для получения дополнительной информации, вот пост о том, как использовать подзапросы вSELECT оператор: https://www.essentialsql.com/get-ready-to-learn-sql-server-20-using-subqueries-in-the-select-statement/

0 голосов
/ 28 мая 2018

Это псевдоним для временного результата подзапроса в скобках.Вы можете использовать AS t, чтобы быть более явным, или можете дать ему более осмысленное имя.

SELECT username
FROM (SELECT * FROM users 
      WHERE spillover_sponsor=%s
      ORDER BY unique_id DESC LIMIT 3)
AS SponseredByMySponsor 
ORDER BY unique_id ASC LIMIT 1

SQL требует, чтобы вы давали ему имя при использовании подобных подзапросов.

0 голосов
/ 28 мая 2018

T - это псевдоним для внутреннего запроса.

(SELECT * FROM users
  WHERE spillover_sponsor=%s 
  ORDER BY unique_id DESC 
  LIMIT 3) t

. Псевдонимы можно использовать для создания временного имени для столбцов или таблиц, так как: -

column_name [ AS ] alias_column_name
table_name [ AS ] alias_table_name

AS - необязательный параметр, может использоваться или опускаться согласно предпочтениям стиля кодирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...