|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Добрый вечер! В данном примере осуществляется блокировка на чтение при SELECT до вызова COMMIT? Или нужно применять "FOR UPDATE" в SELECT? Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 17:51 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Получается, что пример выше аналогичен: Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 17:57 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman, Это не MS SQL ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 18:00 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
zby FreeAdman, Это не MS SQL Обратитесь в соответствующий форум ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 18:01 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Подскажите, пожалуйста Какая разница между SELECT из нескольких таблиц и применение JOIN LEFT ? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 18:33 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman, "список таблиц" - это устаревший способ записать INNER JOIN. А чем INNER JOIN отличается от LEFT JOIN - за этим в справку или гугл ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 18:43 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
0wl, благодарю! Получается, разницы между устаревшим видом и INNER нет никакой, попросту использование INNER визуально упрощает \ сокращает вид запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 18:48 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
LEFT JOIN получается быстрее INNER JOIN? Я правильно понимаю? Т.е. выборка при LEFT получается только в одну сторону вида t1 -> t2 -> t3? Да, придётся почитать за JOIN-ы... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 18:56 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman LEFT JOIN получается быстрее INNER JOIN? Я правильно понимаю? Т.е. выборка при LEFT получается только в одну сторону вида t1 -> t2 -> t3? Да, придётся почитать за JOIN-ы... Имел ввиду, что сначала выборка идёт в `t1`, потом в `t2` без возврата обратно в `t1`. Иначе говоря этоЮ если я правильно представляю, это подобно 3-м SELECT ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 19:13 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
А подскажите, пожалуйста, какой вариант лучше применять для выборки 1 поля из нескольких (3+) таблиц? (интересно ваше мнение и совет) Когда в одном поле - id поля из другой таблицы ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 19:17 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman А подскажите, пожалуйста, какой вариант лучше применять для выборки 1 поля из нескольких (3+) таблиц? (интересно ваше мнение и совет) Когда в одном поле - id поля из другой таблицы LEFT и INNER это не про скорость это про разные, абсолютно разные способы соединения таблиц, которые приводят к разным результирующим значениям в целом ваше направление размышлений в верном направлении авторвыборка при LEFT получается только в одну сторону вида t1 -> t2 -> t3? но для полного понимания прочитать надо про все способы соединений ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 19:31 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Сначала разберитесь, что у Вас за СУБД. Если вдруг MS SQL Server - то пройдите курс https://www.specialist.ru/course/m20461 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 19:33 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
DaniilSeryi, ну как это разберитесь ? MySQL! Модератора попросил перенести тему. Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 19:35 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman, Вот вам про джойны наглядно ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 20:17 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Красиво, только не совсем понятно. Красным что обозначается? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 20:25 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
результат запроса на примере множеств (вместо таблиц) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 21:27 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Вроде бы разобрался. Делаю несколько вложенных LEFT JOIN и норм. Благодарю всех! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 22:29 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman Добрый вечер! В данном примере осуществляется блокировка на чтение при SELECT до вызова COMMIT? Или нужно применять "FOR UPDATE" в SELECT? Код: sql 1. 2. 3. 4.
Подскажите, плиз, я правильно понимаю, что "BEGIN WORK" - это некий локальный аналог "autocommit=false", а COMMIT при том возвращает autocommit в исходное? И, как я понимаю, пример выше не блокирует таблицу на чтение ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 23:11 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
О блокировках. Например. У нас есть таблица users. При регистрации проверяем наличие логина в БД. И дабы недопустить фантомные записи, я так понимаю, пример из доки ниже то что нужно для InnoDB Код: sql 1. 2. 3. 4. 5.
В данном примере мы блокируем на чтение (ну и запись) "t1" т.е. users, а второй поток по идее будет висеть в ожидании разблока таблицы. И "FOR UPDATE" конкретно в этой ситуации не подходит ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2021, 00:10 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman, Не надо танцевать с тарзакциями. Вот так попробуй: Код: sql 1.
Если надо по нескольким типам, то mysql может делать update по таблице и подзапросу. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 08:10 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
crutchmaster, то был пример с другого сайта. Ваш запрос мне ни к чему только от фантомов ваш пример сильно помогает? Сомневаюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 22:25 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman только от фантомов ваш пример сильно помогает? От кого помогает, простите? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 04:05 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
INNER и LEFT могут давать одинаковый результат. В чём тогда разница? Зачем эти ДЖОЙНЫ, если можно перечислить все таблицы в FROM ? Тот же INNER как писали выше. Картинки ваши с интернета не поясняют ничего. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2021, 15:25 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman, смотрим на картинку выше (с кружочками) LEFT отдает ВСЮ Левую Таблицу и присоединяет записи Правой Таблицы по условию Соеднинения, где условие не выполняется - будет NULL для Правой Таблицы INNER отдает только те записи из Левой и Правой, которые проходят по условию соединения здесь https://dbfiddle.uk/?rdbms=mysql_8.0 можно создать пару таблиц и поиграться вдоволь. ------------------ добавлено ------------------ FROM TabA, TabB = FROM TabA INNER JOIN TabAB ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2021, 16:39 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Alex_Ustinov, Ясно. Так понятней. Тогда вопрос. А в чём фишка RIGHT и LEFT ? Ведь запрос можно составить так, что LEFT даст такой же результат как RIGHT и наоборот. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2021, 16:41 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman Alex_Ustinov, Ясно. Так понятней. Тогда вопрос. А в чём фишка RIGHT и LEFT ? Ведь запрос можно составить так, что LEFT даст такой же результат как RIGHT и наоборот. Вроде бы додумал ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2021, 16:42 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman, --- А в чём фишка RIGHT и LEFT ? да, это наоборот ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2021, 16:43 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Правильно ли я понимаю, что числа в MySQL хранятся в виде строки? Иначе зачем при создании числового типа указывать длину??? Если это INT без знака, то длина 10, если со знаком - тогда 11. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2021, 01:37 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman Правильно ли я понимаю, что числа в MySQL хранятся в виде строки? FreeAdman Иначе зачем при создании числового типа указывать длину??? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2021, 02:09 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
vkle, т.е. разницы между int и bigint нет? int длиной 20 аналогичен bigint? т.е. int и bigint - это просто шаблоны длины? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2021, 02:29 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman, Ну откройте же доку хоть чуть-чуть! https://dev.mysql.com/doc/refman/8.0/en/numeric-type-syntax.htmlFor integer data types, M indicates the maximum display width. ... INT[(M)] [UNSIGNED] [ZEROFILL] A normal-size integer. The signed range is -2147483648 to 2147483647. The unsigned range is 0 to 4294967295. ... BIGINT[(M)] [UNSIGNED] [ZEROFILL] A large integer. The signed range is -9223372036854775808 to 9223372036854775807. The unsigned range is 0 to 18446744073709551615. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2021, 04:01 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
miksoft, накой мне дока, когда там водопад американской воды? ИТшники могут же в двух словах между собой нормально объяснить PS: читайте внимательно вопрос. INT и BIGINT получаются ШАБЛОНЫ ДЛИНЫ, а вы мне про вместимость того и иного типа ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2021, 04:16 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
vkle Числа хранятся как двоичные данные. тогда я не понимаю, зачем выделять 1 байт для знакового числа ? )) т.е. int(10) без знака и int(11) для знака Получается, что 11-й байт - это флаг для самой БД что ли ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2021, 04:21 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman накой мне дока, когда там водопад американской воды? FreeAdman INT и BIGINT получаются ШАБЛОНЫ ДЛИНЫ, а вы мне про вместимость того и иного типа Потому что это длина для отображения. И применяется она почти только в консольном клиенте mysql. Для всех остальных INT - 4-байтовое целое, BIGINT - 8-байтовое целое. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2021, 13:29 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Я бы скорее даже процитировал соседнюю страницу документации , где прямым текстом всё пояснено: MySQL supports an extension for optionally specifying the display width of integer data types in parentheses following the base keyword for the type. For example, INT(4) specifies an INT with a display width of four digits. This optional display width may be used by applications to display integer values having a width less than the width specified for the column by left-padding them with spaces. (That is, this width is present in the metadata returned with result sets. Whether it is used is up to the application.) The display width does not constrain the range of values that can be stored in the column. Nor does it prevent values wider than the column display width from being displayed correctly. For example, a column specified as SMALLINT(3) has the usual SMALLINT range of -32768 to 32767, and values outside the range permitted by three digits are displayed in full using more than three digits. int(10) вообще никак не отличается от int(11) или int(1) - это всё один и тот же int для СУБД. Атрибут в скобках может , при соответствующей реализации, использоваться клиентом. А самой базе оно ни для чего не нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2021, 14:02 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Спасибо! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2021, 14:44 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman miksoft, накой мне дока, когда там водопад ... ИТшники могут же в двух словах между собой нормально объяснить Тоже не верила "законной документации") ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2021, 20:43 |
|
|
start [/forum/topic.php?all=1&fid=47&tid=1828087]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
129ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 255ms |
0 / 0 |