Direkt zum Inhalt
HeimAnleitungenSQL

SQL ENTHÄLT: Ein umfassendes Tutorial

Nutze die Möglichkeiten von SQL CONTAINS für erweiterte Textsuchen. Erfahre mehr über logische Operatoren, Umkreissuche und Platzhalter für eine präzise Datenanalyse.
Aktualisierte 11. Sept. 2024  · 5 Min. lesen

In der heutigen datengesteuerten Welt ist die Fähigkeit, Textdaten zu suchen und zu bearbeiten, für Datenexperten unverzichtbar. Die Funktion CONTAINS von SQL ist ein leistungsstarkes Werkzeug für die Durchführung anspruchsvoller Textsuchen in deinen Datenbanken, mit denen du Daten auf der Grundlage bestimmter Muster oder Schlüsselwörter abrufen kannst.

Dieser Lehrgang führt dich durch die effektive Nutzung von SQL CONTAINS und stellt sicher, dass du das volle Potenzial für deine Datenanalyse nutzen kannst.

SQL CONTAINS verstehen

SQL CONTAINS wird für die Volltextsuche verwendet und ermöglicht es dir, Datenbanken nach bestimmten Wörtern, Phrasen oder Mustern in Textdaten abzufragen. Sie ist besonders nützlich, um bestimmte Informationen in großen Textfeldern zu finden, bei denen die genaue Position der Daten nicht im Voraus bekannt ist.

Syntax und Parameter

Die grundlegende Syntax für SQL CONTAINS lautet wie folgt:

CONTAINS (column_name, 'search_pattern')

Die wichtigsten Komponenten sind:

  • Name der Spalte: Das Feld, in dem die Suche durchgeführt werden soll. Es muss sich um eine Volltext-indizierte Spalte handeln.
  • Suchmuster: Der Text, den du in der Spalte finden willst, in einfachen Anführungszeichen.

Operatoren und Wildcards

Um deine Suche zu verfeinern, unterstützt SQL CONTAINS verschiedene Operatoren:

  • AND & OR: Nutze diese, um mehrere Suchbegriffe zu kombinieren.
  • NEAR: Findet Wörter, die in einer bestimmten Nähe zueinander stehen.
  • ASTERISK (*): Dient als Platzhalter für Suchvorgänge, bei denen das genaue Wort Teil einer größeren Zeichenfolge sein kann.

SQL CONTAINS implementieren

Lass uns anhand von praktischen Beispielen erkunden, wie du SQL CONTAINS anwenden kannst:

Grundlegende Verwendung

Um nach den Begriffen "Apfel" und "Orange" in einer Spalte mit dem Namen "Obst" zu suchen, könntest du verwenden:

CONTAINS (fruit, '"apple" AND "orange"')

Diese Abfrage gibt Zeilen zurück, in denen beide Begriffe in der Spalte "Obst" enthalten sind.

Erweiterte Suchabfragen

Bei komplexeren Suchanfragen ermöglicht die Kombination von CONTAINS mit anderen SQL-Funktionen komplizierte Abfragen, z. B. die Suche nach nahe beieinander liegenden Phrasen oder die Verwendung von Platzhaltern, um Variationen eines Wortes zu finden.

Bei der erweiterten Suche kannst du CONTAINS mit logischen Operatoren kombinieren, eine Umkreissuche durchführen und Platzhalterzeichen verwenden, um Muster oder bestimmte Datenpunkte in Textfeldern zu finden.

Kombinieren von CONTAINS mit logischen Operatoren

SQL CONTAINS unterstützt die Verwendung von logischen Operatoren wie AND, OR und NOT, um die Suche anhand mehrerer Kriterien zu verfeinern. Um zum Beispiel Einträge zu finden, die sowohl "Technologie" als auch "Innovation" in einer Textspalte enthalten, könntest du deine Abfrage wie folgt strukturieren:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(
    your_column, '"technology" AND "innovation"'
  );

Umgekehrt würdest du OR verwenden, um Einträge zu finden, die einen der beiden Begriffe enthalten:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(
    your_column, '"technology" OR "innovation"'
  );

Annäherungsversuche

Der NEAR Operator ist besonders nützlich, um Wörter oder Phrasen zu finden, die im Text nahe beieinander stehen. Diese Fähigkeit ist von unschätzbarem Wert für Kontexte, in denen die Beziehung zwischen Begriffen ihre Bedeutung beeinflusst. Zum Beispiel, um nach "Klima" in der Nähe von "Veränderung" innerhalb von 10 Wörtern zu suchen:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(
    your_column, 'NEAR((climate, change), 10)'
  );

Diese Abfrage priorisiert Datensätze, in denen "Klima" und "Wandel" eng miteinander verbunden sind, und bietet so relevantere Ergebnisse für bestimmte Forschungsfragen.

Platzhalter-Suchen

Wildcards erweitern den Umfang der Suche, indem sie die Aufnahme von variablen Zeichen ermöglichen. Das Sternchen (*) dient als Platzhalter in CONTAINS Abfragen und ermöglicht die Suche nach Teilübereinstimmungen. Um zum Beispiel Variationen von "compute" wie "computer", "computing" oder "computation" zu finden, könntest du verwenden:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(your_column, '"compute*"');

Dieser Ansatz ist besonders nützlich, wenn du einen breiten Satz von Daten zu einem Wortstamm erfassen willst oder wenn du dir über die genauen Begriffe in der Datenbank nicht sicher bist.

Erweiterte Mustererkennung

Für Szenarien, die einen noch ausgefeilteren Musterabgleich erfordern, kannst du SQL CONTAINS mit dem Operator LIKE oder regulären Ausdrücken kombinieren. Während CONTAINS die Volltextsuche beherrscht, bieten LIKE und regex die Flexibilität, bestimmte Zeichenfolgen oder Formate zu finden (z. B. E-Mail-Adressen oder Telefonnummern).

Praktisches Beispiel: Kombinierte Techniken für umfassende Recherchen

Nehmen wir ein Szenario an, in dem du Datenbankeinträge zum Thema Umwelttechnologie finden musst, dir aber nicht sicher bist, welche Begriffe im Text verwendet werden. Du kannst verschiedene Techniken wie folgt kombinieren:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(
    your_column, '("environment*" NEAR "technology*", 10) OR "climate change" OR "renewable energy"'
  ) 
  AND your_column LIKE '%sustainability%';

Diese Abfrage zeigt, wie man CONTAINS für die Proximity- und Wildcard-Suche verwendet und gleichzeitig den LIKE Operator für den zusätzlichen Musterabgleich einbezieht, was eine robuste Strategie für komplexe Textsuchen bietet.

Werde Dateningenieur

Werde ein Dateningenieur durch fortgeschrittenes Python-Lernen
Kostenloses Lernen Beginnen

Praktisches Beispiel für SQL CONTAINS in der Datenwissenschaft

Als Datenwissenschaftler arbeite ich mit verschiedenen Arten von Datensätzen, hauptsächlich mit Textdatensätzen für Kundenzufriedenheit und Feedback. In diesem Beispiel suchen wir nach bestimmten Schlüsselwörtern, die auf Zufriedenheit oder Unzufriedenheit im Kundenfeedback hinweisen können.

ID

FeedbackText

SatisfactionScore

1

Ich bin sehr zufrieden mit dem Service.

5

2

Nicht zufrieden mit der Produktqualität.

2

3

Die Lieferung war schnell und das Produkt funktioniert super...

5

4

Der Kundenservice war nicht hilfsbereit und unhöflich.

1

5

Ich bin zufrieden mit meinem Kauf. Wird empfohlen!

4

CustomerFeedback Tabelle

UmCONTAINS nutzen zu können, muss in deiner Datenbank möglicherweise die Volltextsuche aktiviert sein.

Das Schlüsselwort CONTAINS wird verwendet, um Datensätze zu finden, in denen die Spalte "FeedbackText" das Wort "happy" enthält.

SELECT 
  * 
FROM 
  CustomerFeedback 
WHERE 
  CONTAINS(FeedbackText, 'happy');

Die obige Abfrage gibt die Zeilen aus CustomerFeedback zurück, in denen die Spalte FeedbackText das Wort "happy" enthält.

ID

FeedbackText

SatisfactionScore

1

Ich bin sehr zufrieden mit dem Service.

5

3

Die Lieferung war schnell und das Produkt funktioniert super...

5

5

Ich bin zufrieden mit meinem Kauf. Wird empfohlen!

4

Du kannst den Befehl CONTAINS nicht in einer SQLite-Datenbank verwenden. Versuche es stattdessen mit:

SELECT 
  * 
FROM 
  CustomerFeedback 
WHERE 
  FeedbackText LIKE '%happy%';

Darüber hinaus BESTEHT: Mustervergleiche und Stringmanipulation

Während CONTAINS für die Textsuche sehr leistungsfähig ist, bietet SQL auch andere Techniken für die Arbeit mit Textdaten:

LIKE Operator

Ähnlich wieCONTAINS ermöglicht der LIKE Operator den Abgleich von Mustern, allerdings mit einer einfacheren Syntax, die % als Platzhalter verwendet. Zum Beispiel, um alle Produktnamen zu finden, die "Apfel" enthalten:

SELECT 
  * 
FROM 
  Products 
WHERE 
  productName LIKE '%apple%'

Erweiterte String-Funktionen

SQL bietet Funktionen wie LEFT und REVERSE zum Extrahieren oder Manipulieren von Teilen von Textstrings und bietet damit umfangreiche Möglichkeiten zur Textanalyse und -manipulation. Mehr darüber erfährst du in unserem Kurs Datenbereinigung in SQL Server-Datenbanken.

Fazit

Die Funktion SQL CONTAINS und die damit verbundenen Möglichkeiten zur Textmanipulation sind wichtige Werkzeuge für Datenpraktiker. Wenn du diese Techniken verstehst und anwendest, kannst du Textdaten in deinen Datenbanken effektiv durchsuchen und analysieren, um neue Erkenntnisse zu gewinnen und deine Datenanalyseprojekte zu verbessern.

Denke daran, dass die Effektivität deiner Abfragen nicht nur von der Beherrschung der Syntax abhängt, sondern auch vom Verständnis des Kontexts und der Struktur deiner Daten. Übe mit realen Datensätzen und SQL-Projekten und lerne verschiedene Funktionen kennen, um die Leistungsfähigkeit von SQL in der Textdatenanalyse voll auszuschöpfen.

Um mehr über SQL-Operatoren zu erfahren und die SQL-Grundlagen zu erforschen, sieh dir unseren Spickzettel zu den SQL-Grundlagen und den SQL-Grundlagen-Kurs an.

Werde Dateningenieur

Beweise deine Fähigkeiten als einsatzbereiter Datentechniker.

Photo of Abid Ali Awan
Author
Abid Ali Awan
LinkedIn
Twitter

Als zertifizierter Data Scientist ist es meine Leidenschaft, modernste Technologien zu nutzen, um innovative Machine Learning-Anwendungen zu entwickeln. Mit meinem fundierten Hintergrund in den Bereichen Spracherkennung, Datenanalyse und Reporting, MLOps, KI und NLP habe ich meine Fähigkeiten bei der Entwicklung intelligenter Systeme verfeinert, die wirklich etwas bewirken können. Neben meinem technischen Fachwissen bin ich auch ein geschickter Kommunikator mit dem Talent, komplexe Konzepte in eine klare und prägnante Sprache zu fassen. Das hat dazu geführt, dass ich ein gefragter Blogger zum Thema Datenwissenschaft geworden bin und meine Erkenntnisse und Erfahrungen mit einer wachsenden Gemeinschaft von Datenexperten teile. Zurzeit konzentriere ich mich auf die Erstellung und Bearbeitung von Inhalten und arbeite mit großen Sprachmodellen, um aussagekräftige und ansprechende Inhalte zu entwickeln, die sowohl Unternehmen als auch Privatpersonen helfen, das Beste aus ihren Daten zu machen.

Themen

Beginne deine SQL-Lernreise noch heute!

Course

Introduction to SQL

2 hr
829.6K
Learn how to create and query relational databases using SQL in just two hours.
See DetailsRight Arrow
Start Course
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

15 Min.

See MoreSee More