Внутренний шрус: Как проверить внутренний ШРУС? Чем опасен неисправный внутренний ШРУС, какие признаки поломки
устройство и принцип работы, признаки неисправности, замена
Оглавление
- 1 Устройство внутреннего ШРУСа
- 2 Признаки неисправности
- 3 Как проверить внутренний ШРУС
- 4 Какую смазку использовать для ШРУСа
- 5 Замена внутреннего ШРУСа
Шарнир равных угловых скоростей, или по-народному «граната», является составной частью трансмиссии переднеприводного автомобиля. Его основная роль – это непрерывная передача вращения от КПП к колесам под разными углами. Несмотря на одинаковый принцип работы всех ШРУСов, у различных моделей автомобилей они отличаются конструктивными особенностями. К тому же разные условия эксплуатации обуславливают отличия в устройстве внешнего и внутреннего ШРУСа.
Устройство внутреннего ШРУСа
Внутренний шарнир равных угловых скоростей предназначен для передачи крутящего момента от трансмиссии ко внешнему ШРУСу. Он отличается от внешнего по размеру (в большую сторону) и стоимости, хотя состоит из тех же самых частей:
- Корпуса в виде чаши с ведомым валом.
- Внутренней обоймы – сферического кулака с ведущим валом.
- Сепаратора в виде кольца с отверстиями, чтобы удерживать шарики.
- Металлических шариков.
Роликовая разновидность шарнира характерна наличием опоры, которая при помощи трех роликов перемещается по дорожкам, нарезанным во внуренней части корпуса. Шарики или ролики находятся в канавках корпуса и удерживаются обоймой, которая соединяется с валом привода шлицевым соединением. При изменении угла ведущего и ведомого валов, шарики перемещаются по канавкам, непрерывно передавая усилие.
Признаки неисправности
Работа ШРУСа всегда связана с воздействием огромных нагрузок. Несмотря на применение в конструкции узла высокопрочных материалов, он иногда способен выходить из строя. Этому способствуют следующие причины:
- Применение при изготовлении деталей узла материалов низкого качества, использование поддельных или бракованных запасных частей.
- Отсутствие внутри механизма смазочного материала или его плохое качество.
- Попадание внутрь механизма воды или абразивного мусора из-за повреждения пыльника.
- Чрезмерная нагрузка на механизм из-за неудовлетворительного состояния дорожного покрытия или агрессивного стиля езды.
- Длительная эксплуатация, при которой вырабатывается ресурс деталей.
Неисправность внутреннего ШРУСа проявляется в следующих признаках:
- Характерный хруст при наездах на препятствия, трогании с места или резком ускорении.
- Рывки и вибрация при разгоне.
- Люфт в соединениях шарнира при вывешенном колесе.
Как проверить внутренний ШРУС
Поломка любой детали автомобиля связана с изменением ее размера, физических свойств или появлением выработки на трущихся частях. ШРУС – это шарнирное соединение, в котором элементы механизма тесно соприкасаются и находятся под постоянной нагрузкой. Со временем в местах взаимодействия деталей образуется выработка и увеличивается зазор, что проявляется в усилении характерного «хруста» при резком ускорении или преодолении препятствий.
В отличие от внешнего ШРУСа, который легко проверить при движении с максимальным углом поворота, внутренний редко находится в состоянии максимального искривления. Убедиться в исправности или поломке узла можно при вывешивании колеса. Для этого на подъемнике при работающем двигателе включают первую передачу, чтобы колеса медленно вращались. Если при этом от неисправной части слышен хруст, а при воздействии на вал ощущается люфт, значит ШРУС неисправен.
Какую смазку использовать для ШРУСа
Основные задачи смазок, применяемых в ШРУС – это защита от трения и предотвращение развития коррозии. Также смазка должна быть инертной по отношении к полимерным пыльникам, предотвращающим попадание влаги и мусора внутрь механизма. Большинству из вышеназванных требований соответствуют следующие разновидности смазок:
1. Литиевые. Это вязкие желтоватые составы, которые при низких температурах приобретают еще более густую консистенцию, с трудом намазываясь на детали. Они способны значительно снижать трение и нагрузки, действующие на элементы шарнира, защищать их от влаги и нейтрализовать случайно попавшую грязь. Единственный их недостаток – способность растворять некоторые виды пыльников, изготовленных из органических полимеров. Одним из представителей данного вида смазок выступает отечественная Литол-24, которую заменяют после пробега 100 тыс. км.
2. На основе дисульфида молибдена. Более универсальные смазки, которые отличаются повышенной устойчивостью к коррозии. В их составе снижено содержание органических кислот, за счет чего уменьшена агрессивность в отношении к полимерным изделиям. Подобные смазки рекомендованы к применению в ШРУСах автомобилей любых производителей. Основной их недостаток – чувствительность к попаданию влаги при нарушении герметичности пыльника, за счет чего смазка теряет свои свойства. Отечественные производители выпускают смазки с дисульфидом молибдена под общим названием ШРУС-4.
3. Бариевая смазка. Устойчива к попаданию внутрь механизма влаги, успешно противостоит коррозии, а также нейтральна к любым полимерам, из которых изготовлены пыльники. Главный ее недостаток – плохая устойчивость к низкой температуре. Смазка на данный момент в силу высокой стоимости не слишком распространена. Все отечественные составы, изготовленные по данной технологии, маркируются под названием ШРБ-4.
Для защиты ШРУС, даже при рекомендации продавцов, не рекомендуется применять следующие составы:
- Графитовые смазки, так как они предназначены для работы в подшипниках, а при использовании в ШРУС, срок его службы не превысит 25 тыс. км.
- Углеводородные смазки, в том числе технический вазелин, так как разрушаются при tо, превышающей 45оС, и приводят к поломке шарнира через короткое время.
- Консистентные составы, изготовленные на основе кальция и натрия, так как не способны работать в узлах с высокой механической нагрузкой, и приведут к выходу шарнира из строя после пробега 15-30 тыс. км.
- Составы, изготовленные на основе цинка или железа.
При смене смазки шарнира руководствуются инструкцией по эксплуатации автомобиля и самой смазки.
Замена внутреннего ШРУСа
Неисправный внутренний ШРУС способен во время движения развалиться, лишив машину подвижности. Чтобы избежать поломки и непредвиденных расходов, узел следует заменить при первых признаках неисправности. Все работы желательно проводить на специализированном СТО, так как операция требует от мастера определенных знаний и навыков. Но при наличии необходимого инструмента, соответствующего опыта и уверенности в своих силах, автолюбитель способен все проделать самостоятельно в условиях гаража.
Перед заменой готовят следующие запасные части:
- Сам шарнир.
- Пыльник с новыми хомутами.
- Смазку.
- Гайку ступицы.
Процедура замены осуществляется в следующем порядке:
1. Автомобиль поддомкрачивается со стороны заменяемого ШРУСа или ставится на подъемник, после чего из коробки передач сливают масло.
2. Выкручивается гайка ступицы и снимается колесо.
3. Отсоединение стойки от рулевого наконечника и крепления шаровой опоры.
4. Сдергивание тормозного диска с суппортом со шлицов и отведение конструкции в сторону.
5. Сдергивание со шлицов внутреннего ШРУСа при помощи металлической направляющей и молотка.
6. Извлечение всего привода наружу.
7. Снятие хомутов пыльника, самого пыльника и неисправного ШРУСа после зажатия привода в тиски.
8. Закладка смазки в новый ШРУС.
9. Монтаж пыльника и насаживание ШРУСа на шлицы.
10. Установка хомутов на пыльник.
11. Установка собранного привода в коробку передач. При попадании в шлицы слышен характерный щелчок, после чего привод забивается на свое место.
12. Дальнейшая сборка производится в обратном порядке.
Описанный метод позволяет произвести замену внутреннего шруса всех моделей ВАЗ: 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 21099, 2110, 2111, 2112, 2113, 2114, Нива, Лада Приора, Калина, Гранта, Веста и большинства иномарок.
Что такое ШРУС в автомобиле, устройство, где находиться
Автор: Trip | 2016-12-02
Большинство современных автомобилей оснащаются устройствами, помогающими им уверенно двигаться и поворачивать. К таким устройствам относится ШРУС. Что же такое ШРУС в автомобиле?
Зачем нужен ШРУС
Для понимания того, что такое ШРУС, стоит вспомнить исключительно заднеприводные машины на заре массового автопроизводства. Направление движения менялось с помощью обычных рулевых тяг. У старых переднеприводных машин система карданов передавала крутящий момент на передние колеса. Это сопровождалось вибрацией и шумом, неровной работой, мощностными потерями в поворотах. Подобные механизмы, прочие части трансмиссии, автошины отличались недолговечностью.
С появлением на ведущих колесах шарниров равных угловых скоростей (ШРУС) ситуация кардинально изменилась. Вне зависимости от угла расположения валов усилие на колеса передавалось одинаковое. Мощность мотора в этом процессе не терялась. Исчезли тряска и шумы, изделия нового типа работали надежнее и продолжительнее. Сегодня, помимо легковых автомобилей, их применяют на иных видах колесного транспорта. Такие механизмы работают на грузовиках, внедорожниках, специальных автомашинах с многоколесными поворотными системами.
Где же находиться ШРУС, сколько ШРУСов в автомобиле? ШРУС располагается на передней полуоси автомобиля, обычно по две штуки на сторону, всего четыре, но бывает и один на сторону, зависит от конструкции автомобиля.
Какими они бывают ШРУСы
ШРУСы бывают не только наружными, встраиваемыми в ступицу. Конструкторы разработали внутренний ШРУС, передающий вращение от коробки передач на колесный привод. В управлении транспортным средством и обеспечении его безопасности внутренние и наружные ШРУСы выполняют уникальную функцию.
Главное отличие внутреннего от наружного ШРУСа, в том, что наружный передает вращение с оси приводного вала на колеса, а крутящий момент, передаваемый при помощи внутреннего ШРУСа, идет с КПП на приводной вал.
В шариковом ШРУСе удерживаемые сепаратором шарики, во время вращения вала перемещаются по сферическим канавкам. Крутящий момент через обойму передается на ведомый вал и далее непосредственно на колесо.
Обычно он представляет собой:
- совмещенный с ведомым валом сферообразный корпус;
- шароподобную обойму, соединенную с ведущим валом;
- шесть шариков расположенные в обойме;
- сепаратор удерживающий шарики.
Принципиальное отличие ШРУСа трипоидного типа в отсутствии сепаратора и наличии вращающихся с помощью игольчатых подшипников роликов на трехлучевой вилке. Подобный трипоид допускает продольное перемещение. В нем отсутствует сепаратор. Функции шариков выполняют ролики трипода, движущиеся по своим канавкам внутри корпуса шарнира.
Проблемы ШРУСов
Нередко такие ШРУСы сами сигнализируют, что у них не все в порядке. Чаще это происходит с внешними, которые помимо большой нагрузки, сталкиваются на дороге с камнями и другими предметами. Когда в них попадает пыль и грязь, механизм изнашивается и начинает при поворотах хрустеть или скрипеть. Это может означать недостаток или отсутствие смазки.
Помимо плохой смазки причинами повреждений ШРУСа могут быть:
- низкое качество используемых смазочных материалов;
- некачественное изделие, которое может быть поддельным или бракованным;
- повреждение пыльника с последующим попаданием в него песка и грязи;
- плохие дороги;
- чрезмерно активный стиль вождения.
Проблемный шарнир надо снять и осмотреть. Шариковый ШРУС можно не менять, достаточно удалить смазку, промыть в керосине и протереть. В случае если шарики и элементы конструкции целы, его собирают, наполняют свежей смазкой и устанавливают назад. Трипоидные ШРУСы целесообразнее менять, используя только ту смазку, которая рекомендуется при их покупке.
Несмотря на одинаковые функции, наружные ШРУСы в силу большей нагрузки чаще выходят из строя. Своевременная их замена поможет избежать неприятностей на дороге, сохранить здоровье и жизнь людей.
Что нужно для проверки
Шарнир, передающий вращение от КПП, испытывает немалые нагрузки, связанные с постоянным изменением положения полуосей, силой трения и другими факторами. В результате образуются зазоры, возникают шумы и звуки. В таких случаях нужна проверка.
Чтобы понять, как проверить внутренний ШРУС, можно воспользоваться несколькими приемами.
- Подняв машину на подъемнике, включить первую скорость. Неисправный ШРУС сразу хрустом сообщит о проблеме.
- На стоящем автомобиле до упора вывернуть рулевое колесо. Запустить двигатель и тронуться. Если при наборе скорости появляется хруст, надо запасаться новым устройством.
- Обратить внимание на появление слабых рывков в начале движения машины, незначительные ускорения или замедления.
- Проверить возникновение хруста при переезде через неровности, ямы, сугробы или резком наборе скорости.
Особого внимания требует люфт, который приводит к вибрации на скорости. Мастера для проверки советуют взяться за внутренний шарнир в том месте, где из него выходит привод наружного шарнира. Покачать в разные стороны. Если люфт более полутора десятков миллиметров, устройство надо безотлагательно менять вместе с валом. Эксплуатировать транспортное средство в таком состоянии опасно.
До того, как проверить ШРУС, лучше договориться с помощником, который со стороны будет фиксировать признаки неисправности. Проверка внутреннего ШРУСа, как профилактическое мероприятие, необходима каждые пару месяцев, а после движения в сложных дорожных условиях – незамедлительно.
Как защитить механизм ШРУСа
Многие шарниры равных угловых скоростей служат долго и безотказно. Однако попадание в них песка и грязи может в скором времени потребовать покупки новой детали. Поэтому, до того как начать проверять ШРУС, следует разобраться с его защитой. Она представляет собой конусовидный резиновый или силиконовый чехол с гофрированной поверхностью, закрывающей шарнир. Защиту еще называют пыльником. Он одновременно выполняет функцию резервуара смазочного материала. С двух сторон пыльник плотно закрывается металлическими хомутами, предотвращающие попадание воды, грязи и песка, а также для недопущения вытекания смазки.
Опытные автомобилисты считают, что ревизию пыльников следует проводить регулярно для выявления деформаций и повреждений вроде разрывов, трещин, ослаблений хомутов и пр. Полезно во время осмотра пыльников проверить состояние их хомутов и при необходимости заменить их винтовыми. Иногда рекомендуют заменять пыльники по мере их выхода из строя. Если приходится снимать привод целиком с двумя ШРУСами, разумно при этом сразу ставить на оба новые чехлы. Так своевременно можно предупредить выход устройства из строя.
5 1 голос
Рейтинг статьи
SQL INNER JOIN (с примерами)
В этом руководстве мы узнаем о SQL INNER JOIN с помощью примеров.
SQL INNER JOIN
объединяет две таблицы на основе общего столбца и выбирает записи с совпадающими значениями в этих столбцах.
Пример
ВЫБЕРИТЕ Customers.customer_id, Customers.first_name, Orders.amount ОТ клиентов ВНУТРЕННЕЕ СОЕДИНЕНИЕ Заказы ON Customers.customer_id = Orders.customer;
Вот как работает этот код:
Пример: SQL INNER JOINЗдесь команда SQL выбирает столбцы customer_id и first_name (из таблицы Customers ) и столбец amount (из таблицы Orders ).
И набор результатов будет содержать те строки, в которых есть совпадение между customer_id (из таблицы Customers ) и customer (из таблицы Orders ).
Синтаксис ВНУТРЕННЕГО СОЕДИНЕНИЯ
Синтаксис INNER JOIN
:
SELECT столбцы ИЗ таблицы1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ таблица2 ON table1.column_name = table2.column_name;
INNER JOIN с предложением WHERE
Вот пример INNER JOIN
с предложением WHERE:
SELECT Customers.customer_id, Customers.first_name, Orders.amount ОТ клиентов ВНУТРЕННЕЕ СОЕДИНЕНИЕ Заказы ON Customers.customer_id = Orders.customer ГДЕ Orders.amount >= 500;
Здесь команда SQL объединяет две таблицы и выбирает строки, в которых Сумма на больше или равна 500 .
SQL INNER JOIN с псевдонимом AS
Мы можем использовать псевдонимы AS внутри INNER JOIN
, чтобы сделать наш фрагмент коротким и чистым. Например,
SELECT C.cat_name, P.prod_title ИЗ Категории КАК С ВНУТРЕННЕЕ СОЕДИНЕНИЕ Продукты AS P ON C.cat_id= P.cat_id;
Здесь команда SQL выбирает общие строки между таблицей Категория и Продукты .
ВНУТРЕННЕЕ СОЕДИНЕНИЕ SQL с тремя таблицами
Мы также можем объединить более двух таблиц, используя INNER JOIN
. Например,
ВЫБРАТЬ C.customer_id, C.first_name, O.amount, S.status ОТ клиентов AS C ВНУТРЕННЕЕ СОЕДИНЕНИЕ Заказы AS O ВКЛ C.customer_id = O.клиент ВНУТРЕННЕЕ СОЕДИНЕНИЕ Доставка AS S ON C.customer_id = S.customer;
Здесь команда SQL
- объединяет таблицы Customers и Orders на основе customer_id
- и присоединяется к Клиентам и Таблица состояния на основе customer_id
Команда возвращает те строки, в которых есть совпадение между значениями столбцов в обоих условиях соединения.
Примечание: Для запуска этой команды в каждой отдельной таблице должен быть столбец customer_id .
Внутреннее соединение и другие соединения
Мы также можем использовать JOIN
вместо INNER JOIN
. По сути, эти два пункта одинаковы.
Значит,
ВЫБЕРИТЕ Customers.customer_id, Customers.first_name, Orders.amount ОТ клиентов ВНУТРЕННЕЕ СОЕДИНЕНИЕ Заказы ON Customers.customer_id = Orders.customer;
аналогично
ВЫБЕРИТЕ Customers.customer_id, Customers.first_name, Orders.amount ОТ клиентов ПРИСОЕДИНЯЙТЕСЬ к заказам ON Customers.customer_id = Orders.customer;
INNER JOIN
выбирает общие строки между двумя таблицами. Принимая во внимание, что LEFT JOIN
выбирает общие строки, а также все остальные строки из левой таблицы.
Давайте рассмотрим пример,
INNER JOIN
SELECT Customers.customer_id, Customers.first_name, Orders.amount ОТ клиентов ВНУТРЕННЕЕ СОЕДИНЕНИЕ Заказы ON Customers.customer_id = Orders.customer;
Вывод
Пример: SQL INNER JOIN ВыводLEFT JOIN
SELECT Customers.customer_id, Customers.first_name, Orders.amount ОТ клиентов ЛЕВОЕ СОЕДИНЕНИЕ Заказы ON Customers.customer_id = Orders.customer;
Вывод
Пример: SQL LEFT JOIN Вывод INNER JOIN
выбирает общие строки между двумя таблицами. Принимая во внимание, что RIGHT JOIN
выбирает общие строки, а также все остальные строки из правой таблицы.
Давайте рассмотрим пример,
INNER JOIN
SELECT Customers.customer_id, Customers.first_name, Orders.amount ОТ клиентов ВНУТРЕННЕЕ СОЕДИНЕНИЕ Заказы ON Customers.customer_id = Orders.customer;
Вывод
Пример: SQL INNER JOIN ВыводПРАВОЕ СОЕДИНЕНИЕ
SELECT Customers.customer_id, Customers.first_name, Orders.amount ОТ клиентов ПРАВОЕ СОЕДИНЕНИЕ Заказы ON Customers.customer_id = Orders.customer_id;
Вывод
Пример: SQL RIGHT JOIN Вывод INNER JOIN
выбирает общие строки между двумя таблицами. В то время как FULL OUTER JOIN
выбирает все строки из обеих таблиц.
Давайте посмотрим на пример,
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
ВЫБЕРИТЕ Customers.customer_id, Customers.first_name, Orders.amount ОТ клиентов ВНУТРЕННЕЕ СОЕДИНЕНИЕ Заказы ON Customers.customer_id = Orders.customer;
Вывод
Пример: SQL INNER JOIN ВыводПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ
SELECT Customers.customer_id, Customers.first_name, Orders.amount ОТ клиентов ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ Заказы ON Customers.customer_id = Orders.customer;
Вывод
Пример: SQL FULL OUTER JOIN ВыводРекомендуемые показания
- SQL JOIN
- SQL ЛЕВОЕ СОЕДИНЕНИЕ
- SQL ПРАВОЕ СОЕДИНЕНИЕ
- SQL ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ
Содержание
Пошаговое руководство по SQL Inner Join
Каждую минуту организации генерируют и анализируют непревзойденные объемы данных. В этой статье мы покажем, как мы можем использовать SQL Inner Join для запроса и доступа к данным из нескольких таблиц, которые хранят эти постоянно растущие данные в базах данных SQL.
Соединения SQL
Прежде чем мы начнем с SQL Inner Join, я хотел бы вызвать здесь SQL Join. Присоединение — это широко используемое предложение в SQL Server, в основном для объединения и извлечения данных из двух или более таблиц. В реальной реляционной базе данных данные структурированы в большом количестве таблиц, и поэтому существует постоянная потребность в объединении этих нескольких таблиц на основе логических связей между ними. В SQL Server существует четыре основных типа соединений: внутреннее, внешнее (левое, правое, полное), самостоятельное и перекрестное соединение. Чтобы получить краткий обзор всех этих объединений, я бы порекомендовал пройти по этой ссылке, обзору типов соединений SQL и учебному пособию.
Эта статья посвящена внутреннему соединению в SQL Server, так что давайте перейдем к нему.
Определение внутреннего соединения SQL
Предложение Inner Join в SQL Server создает новую таблицу (не физическую) путем объединения строк, имеющих совпадающие значения в двух или более таблицах. Это объединение основано на логической связи (или общем поле) между таблицами и используется для извлечения данных, которые появляются в обеих таблицах.
Предположим, у нас есть две таблицы, таблица A и таблица B, которые мы хотели бы соединить с помощью SQL Inner Join. Результатом этого соединения будет новый результирующий набор, возвращающий совпадающие строки в обеих этих таблицах. Часть пересечения, выделенная черным цветом ниже, показывает данные, полученные с помощью Inner Join в SQL Server.
Синтаксис внутреннего соединения SQL Server
Ниже приведен основной синтаксис Inner Join.
SELECT Column_list
FROM TABLE1
INNER JOIN TABLE2
ON Table1.ColName = Table2. ColName
Синтаксис внутреннего соединения в основном сравнивает строки таблицы Table1 с таблицей Table2, чтобы проверить, совпадает ли что-либо на основе условия, указанного в предложении ON. Когда условие соединения выполнено, оно возвращает совпадающие строки в обеих таблицах с выбранными столбцами в предложении SELECT.
Предложение SQL Inner Join такое же, как и предложение Join, и работает так же, если мы не указываем тип (INNER) при использовании предложения Join. Короче говоря, внутреннее соединение — это ключевое слово по умолчанию для соединения, и оба они могут использоваться взаимозаменяемо.
Примечание. Мы будем использовать ключевое слово «внутреннее» соединение в этой статье для большей ясности. Вы можете опустить его при написании своих запросов и также можете использовать только «Присоединиться».
Внутреннее соединение SQL в действии
Давайте попробуем понять концепцию внутреннего соединения на примере интересной выборки данных, касающейся пиццерии и ее распределения продуктов питания. Сначала я собираюсь создать две таблицы: таблицу «PizzaCompany», которая управляет различными филиалами пиццерий в нескольких городах, и таблицу «Foods», в которой хранятся данные о распределении продуктов питания по этим компаниям. Вы можете выполнить приведенный ниже код, чтобы создать и заполнить данные в этих двух таблицах. Все эти данные являются гипотетическими и вы можете создать их в любой из ваших существующих баз данных.
1 2 3 4 5 6 7 8 10 110003 12 13 14 9000 3 9000 3 9000 3 9000 3 9000 3 9000 3 9000 3 9000 3 9000 3 9000 3 9000 3 9000 3 9000 3 | CREATE TABLE [dbo].[PizzaCompany] ( [CompanyId] [int] IDENTITY(1,1) PRIMARY KEY CLUSTERED, [CompanyName] [CompanyName](50) , 3 90 varchar](30) ) SET IDENTITY_INSERT [dbo]. ВСТАВИТЬ В [dbo].[PizzaCompany] ([CompanyId], [CompanyName], [CompanyCity]) VALUES(1,’Dominos’,’Los Angeles’) ; ВСТАВИТЬ В [dbo].[PizzaCompany] ([CompanyId], [CompanyName], [CompanyCity]) VALUES(2,’Pizza Hut’,’Сан-Франциско’) ; ВСТАВИТЬ В [dbo].[PizzaCompany] ([CompanyId], [CompanyName], [CompanyCity]) VALUES(3,’Папа Джонс’,’Сан-Диего’) ; ВСТАВИТЬ В [dbo].[PizzaCompany] ([CompanyId], [CompanyName], [CompanyCity]) VALUES(4,’Ah Pizz’,’Fremont’) ; ВСТАВИТЬ В [dbo].[PizzaCompany] ([CompanyId], [CompanyName], [CompanyCity]) VALUES(5,’Nino Pizza’,’Las Vegas’) ; ВСТАВИТЬ В [dbo].[PizzaCompany] ([CompanyId], [CompanyName], [CompanyCity]) VALUES(6,’Пиццерия’,’Бостон’) ; ВСТАВИТЬ В [dbo].[PizzaCompany] ([CompanyId], [CompanyName], [CompanyCity]) VALUES(7,’chuck e cheese’,’Chicago’) ;
ВЫБЕРИТЕ * ОТ PizzaCompany: |
Вот как выглядят данные в таблице PizzaCompany:
Давайте сейчас создадим и заполним таблицу Foods. CompanyID в этой таблице — это внешний ключ, который ссылается на первичный ключ таблицы PizzaCompany, созданной выше.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Создание таблицы [dbo]. [Foods] ( [itemid] int Первичные ключевые кластеры, [itemname] varchar (50), (CompanyID) ССЫЛКИ PizzaCompany(CompanyID) ) ВСТАВИТЬ В [dbo].[Foods] ([ItemId], [ItemName], [UnitsSold], [CompanyId]) VALUES(1,’Большая пицца’,5, 2) ВСТАВИТЬ В [dbo].[Foods] ([ItemId], [ItemName], [UnitsSold], [CompanyId]) VALUES(2,’чесночные узлы’,6,3) ВСТАВИТЬ В [dbo].[Foods] ([ItemId], [ItemName], [UnitsSold], [CompanyId]) VALUES(3,’Большая пицца’,3,3) ВСТАВИТЬ В [dbo].[ Foods] ([ItemId], [ItemName], [UnitsSold], [CompanyId]) VALUES(4,’Средняя пицца’,8,4) ВСТАВИТЬ В [dbo]. ВСТАВИТЬ В [dbo].[Foods] ([ItemId], [ItemName], [UnitsSold], [CompanyId]) VALUES(6,’Средняя пицца’,11,1) ВСТАВИТЬ В [dbo].[Foods] ([ItemId], [ItemName], [UnitsSold], [CompanyId]) VALUES(7,’Маленькая пицца’, 9,6) ВСТАВИТЬ В [dbo].[Foods] ([ItemId], [ItemName], [UnitsSold], [CompanyId]) VALUES(8,’Small Pizza’,6,7)
SELECT * ОТ Пищевых продуктов |
В следующей таблице показаны данные из таблицы «Продукты». В этой таблице хранится такая информация, как количество проданных единиц продуктов питания, а также пиццерия (CompanyId), которая ее доставляет.
Теперь, если мы хотим увидеть товары, а также единицы, проданные каждой компанией по производству пиццы, мы можем объединить эти две таблицы с помощью предложения внутреннего соединения, используемого в поле CompanyId (в нашем случае это разделяет отношение внешнего ключа ).
SELECT pz.CompanyCity, pz.CompanyName, pz.CompanyId AS PizzaCompanyId, f.CompanyID AS FoodsCompanyId, f.ItemName, f.UnitsSold ИЗ PizzaCompany pz INNER JOIN Foods f pz. Идентификатор компании |
Ниже приведен набор результатов приведенного выше запроса внутреннего соединения SQL. Для каждой строки в таблице PizzaCompany функция Inner Join сравнивает и находит совпадающие строки в таблице Foods и возвращает все совпадающие строки, как показано ниже. И если вы заметили, CompanyId = 5 исключается из результата запроса, так как не соответствует таблице Foods.
С помощью приведенного выше набора результатов мы можем разобрать товары, а также количество товаров, доставленных пиццериями в разных городах. Например, компания Dominos доставила в Лос-Анджелес 7 хлебных палочек и 11 средних пицц.
Внутреннее соединение SQL для трех таблиц
Давайте подробнее рассмотрим это объединение и предположим, что в штате откроются три аквапарка (похоже на лето), и эти аквапарки будут брать еду из пиццерий, упомянутых в таблице PizzaCompany.
Я собираюсь быстро создать таблицу WaterPark и загрузить в нее произвольные данные, как показано ниже.
1 2 3 4 5 6 7 8 10 110003 12 13 14 | CREATE TABLE [dbo].[WaterPark] ( [WaterParkLocation] VARCHAR(50), [CompanyId] int, FOREIGN KEY(CompanyID) REFERENCES PizzaCompany(CompanyID) ) INSERT INTO [dbo].[WaterPark] ([WaterParkLocation], [CompanyId]) VALUES(‘Street 14 ) ВСТАВИТЬ В [dbo].[WaterPark] ([WaterParkLocation], [CompanyId]) VALUES(‘Boulevard 2’,2) ВСТАВИТЬ В [dbo].[WaterPark] ([WaterParkLocation], [CompanyId]) VALUES(‘Rogers 54’,4) INSERT INTO [dbo].[WaterPark] ([WaterParkLocation], [CompanyId]) VALUES(‘Street 14’,3) ВСТАВИТЬ В [dbo].[WaterPark] ([WaterParkLocation], [CompanyId]) VALUES(‘Rogers 54’,5) ВСТАВИТЬ В [dbo].
ВЫБЕРИТЕ * ИЗ Аквапарка |
И ниже вывод этой таблицы.
Как говорится, картинка стоит тысячи слов. Давайте быстро посмотрим на схему базы данных этих трех таблиц с их отношениями, чтобы лучше понять их.
Теперь мы собираемся включить эту третью таблицу в предложение SQL Inner Join, чтобы посмотреть, как это повлияет на набор результатов. Согласно данным в таблице WaterPark, три аквапарка передавали еду от всех пиццерий, кроме Pizzeria (Id = 6) и chuck e cheese (Id = 7). Выполните приведенный ниже код, чтобы увидеть всю раздачу еды в аквапарках по точкам Pizza.
1 2 3 4 5 6 | ВЫБЕРИТЕ pz.CompanyId, pz.CompanyCity, pz.CompanyName,f.ItemName, f.UnitsSold, w.WaterParkLocation ИЗ PizzaCompany pz INNER JOIN Foods f ON pz. ЗАКАЗ ПО pz.CompanyId |
На основе CompanyId SQL Inner Join сопоставляет строки в обеих таблицах, PizzaCompany (таблица 1) и Foods (таблица 2), а затем ищет совпадение в WaterPark (таблица 3), чтобы вернуть строки. Как показано ниже, с добавлением внутреннего соединения в WaterPark CompanyId (6,7 (кроме 5)) также исключается из окончательного набора результатов, поскольку условие w.CompanyId = pz.CompanyId не выполняется для идентификаторов (6, 7). Вот как внутреннее соединение SQL помогает возвращать определенные строки данных из нескольких таблиц.
Давайте углубимся в SQL Inner Join еще с несколькими предложениями T-SQL.
Использование WHERE с внутренним соединением
Мы можем фильтровать записи на основе заданного условия, когда внутреннее соединение SQL используется с предложением WHERE. Предположим, что мы хотим получить строки, в которых продано больше 6 единиц.
В следующем запросе добавлено предложение WHERE для извлечения результатов со значением более 6 для проданных единиц.
ВЫБЕРИТЕ pz.CompanyId, pz.CompanyCity, pz.CompanyName,f.ItemName, f.UnitsSold ИЗ PizzaCompany pz INNER JOIN Foods f ON pz.CompanyId = f.CompanyId 9000WHERE f.6 ЗАКАЗАТЬ pz.CompanyCity |
Выполните приведенный выше код в SSMS, чтобы увидеть результат ниже. Этот запрос возвращает четыре таких записи.
Использование Group By с внутренним соединением
SQL Inner Join позволяет нам использовать предложение Group by вместе с агрегатными функциями для группировки результирующего набора по одному или нескольким столбцам. Группировка по обычно работает с внутренним соединением над окончательным результатом, возвращаемым после объединения двух или более таблиц. Если вы не знакомы с предложением Group by в SQL, я бы посоветовал пройти его, чтобы быстро понять эту концепцию. Ниже приведен код, в котором используется предложение Group By с внутренним соединением.
ВЫБЕРИТЕ pz.CompanyCity, pz.CompanyName, SUM(f.UnitsSold) AS TotalQuantitySold FROM PizzaCompany pz INNER JOIN Foods f ON pz.CompanyId = f.CompanyId pz.Company3Name, pz.Company BY pz.Company ЗАКАЗАТЬ pz.CompanyCity |
Здесь мы намерены получить общее количество товаров, проданных каждой пиццерией, присутствующей в городе. Как вы можете видеть ниже, совокупный результат в столбце «Общее количество проданных» равен 18 (7+11) и 9.(6+3) для Лос-Анджелеса и Сан-Диего соответственно.
Краткая заметка об Equi и Theta Join
Прежде чем мы закончим эту статью, давайте быстро пробежимся по терминам, которые разработчик SQL может время от времени слышать — Equi и Theta Join.
Equi Join
Как следует из названия, эквивалентное соединение содержит оператор равенства «=» либо в предложении Join, либо в условии WHERE. SQL Inner, Left, Right — все это эквивалентные соединения, когда оператор «=» используется в качестве оператора сравнения. Обычно, когда упоминается внутреннее соединение SQL, оно рассматривается как внутреннее равное соединение, только в необычной ситуации оператор равенства не используется.
Чтобы упростить задачу, я собираюсь обратиться к образцу базы данных AdventureWorksDW2017 и запустить запрос к существующим таблицам, чтобы продемонстрировать, как выглядит эквивалентное соединение.
ВЫБЕРИТЕ e.EmployeeKey, e.FirstName, e.Title, e.HireDate, fs.SalesAmountQuota FROM DimEmployee e INNER JOIN FactSalesQuota fs ON e.Employey 9mployeeKey = fs. |
Тета-соединение (неэквивалентное соединение)
Соединение без эквивалента в основном противоположно соединению по эквивалентности и используется, когда мы присоединяемся к условию, отличному от оператора «=». Этот тип редко используется на практике. Ниже приведен пример, в котором используется тета-соединение с оператором неравенства (<) для оценки прибыли путем оценки себестоимости и продажных цен в двух таблицах.
SELECT * FROM Table1 T1, Table2 T2 WHERE T1.ProductCost < T2.SalesPrice |
Заключение
Я надеюсь, что эта статья о «Внутреннем соединении SQL» обеспечивает понятный подход к одному из важных и часто используемых предложений — «Внутреннее соединение» в SQL Server для объединения нескольких таблиц. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь задавать их в разделе комментариев ниже.
Чтобы продолжить изучение SQL Joins, вы можете обратиться к следующим сообщениям:
- SQL OUTER JOIN обзор и примеры
- SQL Join введение и обзор
- Автор
- Последние сообщения
Гаури Махаджан
Гаури является специалистом по SQL Server и имеет более чем 6-летний опыт работы с глобальными многонациональными консалтинговыми и технологическими организациями.