Учебник по Python

ДОМАШНЯЯ СТРАНИЦА ПИТОН Введение в Python Python для начала Синтаксис Python Комментарии Python Переменные Python Типы данных Python Числа Python Кастинг Python Строки Python Логические значения Python Операторы Python Списки Python Кортежи Python Наборы Python Словари Python Python, если...иначе Циклы Python в то время как Python для циклов Функции Python Python лямбда Массивы Python Классы/объекты Python Наследование Питона Итераторы Python Объем Python Модули Python Даты Python Математика Python Python JSON регулярное выражение Python Картинка в картинке Python Python Попробуйте... Кроме Пользовательский ввод Python Форматирование строк Python

Работа с файлами

Обработка файлов Python Файлы чтения Python Python Запись/создание файлов Удалить файлы Python

Модули Python

Учебник по NumPy Прохождение панды Учебник по Сципи

Python Matplotlib

Введение в Matplotlib Matplotlib Начать Пилот Matplotlib Графики Matplotlib Маркеры Matplotlib Линия Matplotlib Метки Matplotlib Сетка Matplotlib Подсюжеты Matplotlib Матплотлиб Скаттер Бары Matplotlib Гистограммы Matplotlib Круговые диаграммы Matplotlib

Машинное обучение

Начиная Средняя медиана режима Среднеквадратичное отклонение Процентиль Распределение данных Нормальное распределение данных Точечная диаграмма Линейная регрессия Полиномиальная регрессия Множественная регрессия Масштаб Поезд/тест Древо решений

Python MySQL

Начать работу с MySQL MySQL Создать базу данных MySQL Создать таблицу Вставка MySQL Выбор MySQL MySQL Где Порядок MySQL MySQL Удалить Таблица удаления MySQL Обновление MySQL Лимит MySQL MySQL присоединиться

Python MongoDB

Начать работу с MongoDB MongoDB Создать базу данных MongoDB Создать коллекцию Вставка MongoDB MongoDB Найти Запрос MongoDB Сортировка MongoDB MongoDB Удалить Коллекция MongoDB Drop Обновление MongoDB Лимит MongoDB

Справочник по Python

Обзор Python Встроенные функции Python Строковые методы Python Методы списка Python Словарные методы Python Методы кортежей Python Методы набора Python Файловые методы Python Ключевые слова Python Исключения Python Глоссарий Python

Справочник по модулям

Случайный модуль Модуль запросов Модуль статистики Математический модуль cМатематический модуль

Python Как

Удалить дубликаты списка Перевернуть строку Добавить два числа

Примеры Python

Примеры Python Компилятор Python Упражнения на Python Питон Викторина Сертификат Python

Присоединиться к Python MySQL


Присоединяйтесь к двум или более столам

Вы можете объединять строки из двух или более таблиц на основе связанного столбца между ними с помощью оператора JOIN.

Предположим, у вас есть таблица «пользователи» и таблица «продукты»:

пользователи

{ id: 1, name: 'John', fav: 154},
{ id: 2, name: 'Peter', fav: 154},
{ id: 3, name: 'Amy', fav: 155},
{ id: 4, name: 'Hannah', fav:},
{ id: 5, name: 'Michael', fav:}

продукты

{ id: 154, name: 'Chocolate Heaven' },
{ id: 155, name: 'Tasty Lemons' },
{ id: 156, name: 'Vanilla Dreams' }

Эти две таблицы можно объединить, используя поля пользователей и favполя продуктов id.

Пример

Присоединяйтесь к пользователям и продуктам, чтобы увидеть название любимого продукта пользователей:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "SELECT \
  users.name AS user, \
  products.name AS favorite \
  FROM users \
  INNER JOIN products ON users.fav = products.id"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

Примечание. Вы можете использовать JOIN вместо INNER JOIN. Они оба дадут вам тот же результат.



ЛЕВОЕ СОЕДИНЕНИЕ

В приведенном выше примере Ханна и Майкл были исключены из результата, потому что INNER JOIN показывает только те записи, в которых есть совпадение.

Если вы хотите показать всех пользователей, даже если у них нет любимого продукта, используйте оператор LEFT JOIN:

Пример

Выберите всех пользователей и их любимый продукт:

sql = "SELECT \
  users.name AS user, \
  products.name AS favorite \
  FROM users \
  LEFT JOIN products ON users.fav = products.id"

ПРАВОЕ ПРИСОЕДИНЕНИЕ

Если вы хотите вернуть все продукты и пользователей, у которых они есть в избранном, даже если ни один пользователь не считает их любимыми, используйте оператор RIGHT JOIN:

Пример

Выберите все продукты и пользователей, у которых они есть в избранном:

sql = "SELECT \
  users.name AS user, \
  products.name AS favorite \
  FROM users \
  RIGHT JOIN products ON users.fav = products.id"

Примечание. Ханна и Майкл, у которых нет любимых продуктов, не включены в результат.