Объединение двух таблиц - MySQL (220487)
Формулировка задачи:
Здравствуйте! Прошу помочь разобраться в этой путанице. В mysql я разбираюсь не так хорошо, как хотелось бы. Сразу извиняюсь, если вопросы покажутся глупыми, а решения довольно таки не сложными.
Вообщем, есть две таблицы mysql, одна предназначена для авторов, другая для стихов.
Код mysql таблицы следующий:
Это таблица для авторов. Таблица для стихов выглядит также:
Вопрос 1: Какой тип лучше использовать для хранения этих самых стихов? Прочитал, что тип TEXT идеально подходит для текстов, но он не работает с Auto_increment, поэтому пришлось поставить тип INT.
Вопрос 2: Как, собственно объединить 2 таблицы? Дело в том, нужно будет делать запрос из двух таблиц. Нужно сделать запрос на выбор всех фраз, которые пренадлежат каждому автору. Для 1 автора может быть выбрано несколько стихов. Нужно сделать уникальный id для каждой из таблиц, и при вызове допустим id = 2 делать запрос на выбор всех фраз, которые соответствуют id = 2 .
Вопрос 3: Самый глупый вопрос, пожалуй, но без него никуда: Как хранить те самые стихи в таблице? Куда нужно их вписывать?
CREATE TABLE name_table ( random INT(32), random2 INT(32), random3 INT(32), random4 INT(32), random5 INT(32), random6 INT(32), random7 INT(32), random8 INT(32), random9 INT(32), random10 INT(32), random11 INT(32), random12 INT(32), RID INT(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (RID));
CREATE TABLE table_stih ( name INT(32), name2 INT(32), name3 INT(32), name4 INT(32), name5 INT(32), name6 INT(32), name7 INT(32), name8 INT(32), name9 INT(32), name10 INT(32), name11 INT(32), name12 INT(32), RID INT(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (RID));
Решение задачи: «Объединение двух таблиц»
textual
Листинг программы
SELECT * FROM name_table, table_stih WHERE name_table.RID = table_stih.RID;
Объяснение кода листинга программы
В представленном коде выполняется операция объединения (JOIN) двух таблиц name_table
и table_stih
по полю RID
. Результатом запроса будет выборка всех полей из обеих таблиц, которые соответствуют условию объединения.
Вот список действий, которые выполняются в данном коде:
- SELECT - выборка данных из таблицы.
-
-
- выбор всех полей.
-
- FROM - указание источника данных.
- name_table, table_stih - перечисление таблиц для объединения.
- WHERE - указание условия для объединения.
- name_table.RID = table_stih.RID - условие объединения по полю
RID
. Таким образом, данный запрос выбирает все поля из таблицname_table
иtable_stih
, которые имеют одинаковое значение в полеRID
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д