Объединение двух таблиц - MySQL (220487)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Прошу помочь разобраться в этой путанице. В mysql я разбираюсь не так хорошо, как хотелось бы. Сразу извиняюсь, если вопросы покажутся глупыми, а решения довольно таки не сложными. Вообщем, есть две таблицы mysql, одна предназначена для авторов, другая для стихов. Код mysql таблицы следующий:
Листинг программы
  1. CREATE TABLE name_table (
  2. random INT(32),
  3. random2 INT(32),
  4. random3 INT(32),
  5. random4 INT(32),
  6. random5 INT(32),
  7. random6 INT(32),
  8. random7 INT(32),
  9. random8 INT(32),
  10. random9 INT(32),
  11. random10 INT(32),
  12. random11 INT(32),
  13. random12 INT(32),
  14. RID INT(11) NOT NULL AUTO_INCREMENT,
  15. PRIMARY KEY (RID));
Это таблица для авторов. Таблица для стихов выглядит также:
Листинг программы
  1. CREATE TABLE table_stih (
  2. name INT(32),
  3. name2 INT(32),
  4. name3 INT(32),
  5. name4 INT(32),
  6. name5 INT(32),
  7. name6 INT(32),
  8. name7 INT(32),
  9. name8 INT(32),
  10. name9 INT(32),
  11. name10 INT(32),
  12. name11 INT(32),
  13. name12 INT(32),
  14. RID INT(11) NOT NULL AUTO_INCREMENT,
  15. PRIMARY KEY (RID));
Вопрос 1: Какой тип лучше использовать для хранения этих самых стихов? Прочитал, что тип TEXT идеально подходит для текстов, но он не работает с Auto_increment, поэтому пришлось поставить тип INT. Вопрос 2: Как, собственно объединить 2 таблицы? Дело в том, нужно будет делать запрос из двух таблиц. Нужно сделать запрос на выбор всех фраз, которые пренадлежат каждому автору. Для 1 автора может быть выбрано несколько стихов. Нужно сделать уникальный id для каждой из таблиц, и при вызове допустим id = 2 делать запрос на выбор всех фраз, которые соответствуют id = 2 . Вопрос 3: Самый глупый вопрос, пожалуй, но без него никуда: Как хранить те самые стихи в таблице? Куда нужно их вписывать?

Решение задачи: «Объединение двух таблиц»

textual
Листинг программы
  1. SELECT * FROM name_table, table_stih WHERE name_table.RID = table_stih.RID;

Объяснение кода листинга программы

В представленном коде выполняется операция объединения (JOIN) двух таблиц name_table и table_stih по полю RID. Результатом запроса будет выборка всех полей из обеих таблиц, которые соответствуют условию объединения. Вот список действий, которые выполняются в данном коде:

  1. SELECT - выборка данных из таблицы.
      • выбор всех полей.
  2. FROM - указание источника данных.
  3. name_table, table_stih - перечисление таблиц для объединения.
  4. WHERE - указание условия для объединения.
  5. name_table.RID = table_stih.RID - условие объединения по полю RID. Таким образом, данный запрос выбирает все поля из таблиц name_table и table_stih, которые имеют одинаковое значение в поле RID.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут