что это, из чего состоит, неисправности :: Autonews
Для чего нужны эти детали? Где находятся? И как понять, что им нужна замена? Отвечаем на самые популярные вопросы.
- Что это
- Из чего состоит
- Для чего нужен
- Виды
- Признаки поломки
- Если хрустит
adv.rbc.ru
Эксперт в этом материале: Вячеслав Субботин, директор гоночной команды «ГАЗ Рейд Спорт» и автор программы «Минтранс» на телеканале РЕН ТВ
Что такое ШРУС
ШРУС — аббревиатура, которая расшифровывается как «шарнир равных угловых скоростей». Эта подвижная деталь является частью трансмиссии и служит для передачи крутящего момента между подвижными валами под постоянно меняющимся углом. В простонародье ШРУСы за характерную форму именуют «гранатами». Но есть и более научный термин — гомокинетический шарнир.
Изобретателем ШРУСов в привычном их виде считают немца Карла Вайсса. В 1928 году его конструкцию усовершенствовал Альфред Рцеппа. Узел оказался настолько удачным и востребованным, что лицензию на него приобрели многие автопроизводители, включая «АвтоВАЗ», который впервые начал применять ШРУСы на классической «Ниве». Представить современный легковой автомобиль без этих деталей почти невозможно.
Отыскать ШРУСы на машине несложно. На переднеприводном автомобиле они находятся на передних полуосях, а на полноприводном авто с независимой подвеской — как на передних, так и на задних. В первом случае шарниров четыре, а во втором — восемь. Впрочем, бывают и исключения: на некоторых моделях используют по одному ШРУСу на сторону, на других — применяют ШРУСы вместо кардана для передачи крутящего момента к заднему редуктору.
Из чего состоит ШРУС
Конструкция ШРУСа зависит от его разновидности. Всего инженерами создано четыре типа шарниров, на каждом из которых мы остановимся подробнее чуть позже.
ШРУСы принято делить на наружные, встраиваемые в ступицу, и внутренние. Устроены они по-разному: наружный передаёт вращение с оси приводного вала на управляемые колёса, внутренний — момент от коробки передач на приводной вал. Каждый из этих типов выполняет свою уникальную функцию.
ШРУС наружного типа состоит из:
- Совмещённого с ведомым валом сферообразного корпуса.
- Шароподобной обоймы, соединённой с ведущим валом.
- Шести шариков, расположенных в обойме.
- Сепаратора, удерживающего шарики.
- Герметичного пыльника, наполненного смазкой.
ШРУС наружного типа (Фото: sibmasuma.ru)
ШРУС внутреннего типа состоит из:
- Корпуса-стакана с тремя канавками, совмещённого с ведущим валом.
- Трёхлучевой вилки, помещённой в корпус и надевающейся на шлицы ведомого вала.
- Трёх роликов, вращающихся на игольчатых подшипниках.
- Герметичного пыльника со смазкой.
ШРУС внутреннего типа (Фото: drive2.
ru)Для чего нужен ШРУС
Глядя на замысловатую конструкцию, многие не могут понять, зачем вообще нужны такие сложные устройства. Ответ прост: передать крутящий момент на управляемые колёса, постоянно изменяющие своё положение относительно коробки передач, без ШРУСов почти невозможно. Именно за счёт шарниров равных угловых скоростей осуществляется непрерывная передача момента вне зависимости от рельефа местности и положения колёс. Подвеска и рулевое управление получают большую свободу.
По сути ШРУСы выполняют ту же работу, что и карданы. Правда, отличия между ними есть, и они огромны. Шарниры равных угловых скоростей намного технологичнее и совершеннее — они находятся на ином, недостижимом для карданов уровне.
Основная разница между карданной передачей и ШРУСами в том, что карданы передают момент несинхронно (один вал вращается равномерно, а другой нет). Значительный угол скрещивания в них сильно затруднён. ШРУСы не просто позволяют преодолеть неравномерность передачи момента, но и увеличивают рабочий угол до 70 градусов (в случае с шариковыми шарнирами).
Основные функции ШРУСа:
- Непрерывная передача крутящего момента.
- Обеспечение возможности работы подвески и рулевого управления.
- Снижение паразитных вибраций.
ШРУСы обеспечивают нормальное функционирование независимой подвески автомобиля и рулевого управления. (Фото: unit-car.com)
Виды ШРУСов
Конструктивно ШРУСы различаются в зависимости от производителя и конкретной модели, однако принципиальных отличий между ними нет. Принято выделять четыре вида шарниров равных угловых скоростей, из которых два встречаются на современных авто достаточно редко.
Шариковые
Шариковые ШРУСы — наиболее распространённый вид шарниров равных угловых скоростей. Именно они обычно применяются в качестве внешних ШРУСов. Работает устройство по следующему принципу.
Во внешнем корпусе с канавками находится обойма и сепаратор с шариками, которые, в свою очередь, перекатываются между корпусом и обоймой. Шарики позволяют постоянно передавать крутящий момент под углом до 70 градусов. Вне зависимости от того, как вывернуто колесо, момент передаётся без разрывов и биений.
Так выглядит шариковый ШРУС без смазки. (Фото: pkfst.ru)
Спаренные карданные
Спаренные карданные шарниры условно можно назвать ШРУСами. Это громоздкие и тяжёлые конструкции, встретить которые на современной машине практически невозможно. По задумке, последовательная пара карданных шарниров должна нивелировать неравномерность скорости работы друг друга. Эта система может передавать крутящий момент под углом не более 20 градусов. Из-за внушительных размеров, большого веса и малого рабочего угла сдвоенные карданы на практике применяются преимущественно на строительной технике и тракторах.
Спаренный карданный шарнир. (Фото: parts-news.ru)
Триподные
Триподные ШРУСы — самый распространённый вид внутреннего шарнира равных угловых скоростей. От шарикового шарнира он отличается повышенной надёжностью. Правда, у такой конструкции есть и свои минусы. В частности, он может передавать крутящий момент под углом лишь до 20 градусов. К плюсам можно отнести значительный свободный осевой ход, который позволяет обеспечивать увеличение и уменьшение длины осей при артикуляции подвески. Этот вид ШРУСов очень долговечен и выдерживает большие ударные нагрузки.
Конструктивно триподные ШРУСы проще шариковых. Это трёхлучевая вилка с тремя роликами на игольчатых подшипниках, надетая на шлицы оси и способная перемещаться по пазам в стакане.
Трипод, вынутый из корпуса-стакана. (Фото: motopoland. com.ua)
Кулачковые (сухариковые), а также кулачково-дисковые ШРУСы на легковушках не встречаются. Виной тому их техническое несовершенство. Конструкция представляет собой пару вилок и фасонных дисков. Устройство может выдерживать колоссальные нагрузки, но не переносит высоких скоростей. Такие ШРУСы склонны к перегреву и применяются преимущественно на грузовиках.
Кулачковый ШРУС: 10,14 — вилки кулачкового шарнира; 11,13 — кулачки; 12 — диск шарнира. (Фото: auto-virage.ru)
Признаки поломки ШРУСа
Современные ШРУСы — невероятно надёжные и выносливые компоненты автомобиля. Срок их службы примерно равен ресурсу самой машины. Тем не менее, иногда шарниры равных угловых скоростей выходят из строя — в этом случае требуется дорогостоящий и трудоёмкий ремонт. Нередко — замена полуоси в сборе.
В большинстве случаев поломки ШРУСов — следствие неправильной эксплуатации машины и небрежного отношения к ней со стороны автовладельца. Заводской брак этих деталей встречается редко.
Можно выделить как минимум пять характерных признаков поломки ШРУСов, на каждый из которых стоит обратить внимание:
1. Разрыв/негерметичность пыльника
Для нормальной работы любого ШРУСа критически важно обеспечить его детали смазкой. При любом, даже самом незначительном повреждении пыльника внутрь шарнира начинают попадать грязь и влага. Это приводит к выдавливанию смазки, образованию коррозии в сочленении и повреждению деталей. Трещины, разрывы, следы смазки на пыльнике — стопроцентный повод срочно отправиться в сервис.
2. Рывки и вибрации при движении
Во время трогания с места при неисправном ШРУСе можно ощутить едва заметные толчки — машина будто движется рывками. Рывки нередко наблюдаются при сильном износе канавок внешних ШРУСов. Вибрации говорят о поломке внутренного, триподного ШРУСа.
3. Щелчки
При движении на машине с неисправным ШРУСом можно услышать характерные щелчки. Как правило, они возникают при езде на небольшой скорости. На высоких скоростях заметить проблему почти невозможно.
Что такое ШРУС в автомобиле, устройство, где находиться
Автор: 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]. [PizzaCompany] ON; ВСТАВИТЬ В [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]. [Foods] ([ItemId], [ItemName ], [UnitsSold], [CompanyId]) VALUES(5,’Breadsticks’,7,1) ВСТАВИТЬ В [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) ) ВСТАВИТЬ В [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]. [WaterPark] ([WaterParkLocation], [CompanyId]) VALUES (‘Бульвар 2’,5)
ВЫБЕРИТЕ * ИЗ Аквапарка |
И ниже вывод этой таблицы.
Как говорится, картинка стоит тысячи слов. Давайте быстро посмотрим на схему базы данных этих трех таблиц с их отношениями, чтобы лучше понять их.
Теперь мы собираемся включить эту третью таблицу в предложение 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. 2d9000CompanyId = f.00002 ПРИСОЕДИНЯЙТЕСЬ к WaterPark w ON w.CompanyId = pz.CompanyId ЗАКАЗ ПО 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-летний опыт работы с глобальными многонациональными консалтинговыми и технологическими организациями.