SQLite
 sql >> Baza danych >  >> RDS >> SQLite

SQLite IN

Podsumowanie :w tym samouczku dowiesz się, jak używać SQLite IN operator, aby określić, czy wartość pasuje do dowolnej wartości z listy wartości lub wyniku podzapytania.

Wprowadzenie do SQLite IN operator

SQLite IN Operator określa, czy wartość pasuje do dowolnej wartości z listy lub podzapytania. Składnia IN operator jest następujący:

expression [NOT] IN (value_list|subquery);Code language: SQL (Structured Query Language) (sql)

expression może być dowolnym poprawnym wyrażeniem lub kolumną tabeli.

Lista wartości jest listą wartości stałych lub zestawem wyników pojedynczej kolumny zwróconej przez podzapytanie. Zwrócony typ wyrażenia i wartości na liście muszą być takie same.

IN operator zwraca prawdę lub fałsz w zależności od tego, czy wyrażenie pasuje do dowolnej wartości na liście wartości, czy nie. Aby zanegować listę wartości, użyj NOT IN operatora.

SQLite IN przykłady operatorów

Użyjemy Tracks tabela z przykładowej bazy danych do demonstracji.

Poniższa instrukcja używa IN operatora, aby zapytać o utwory, których identyfikator typu nośnika to 1 lub 2.

SELECT
	TrackId,
	Name,
	Mediatypeid
FROM
	Tracks
WHERE
	MediaTypeId IN (1, 2)
ORDER BY
	Name ASC;Code language: SQL (Structured Query Language) (sql)

Wypróbuj

To zapytanie używa OR operator zamiast IN operator, aby zwrócić ten sam zestaw wyników, co w powyższym zapytaniu:

SELECT
	TrackId,
	Name,
	MediaTypeId
FROM
	Tracks
WHERE
	MediaTypeId = 1 OR MediaTypeId = 2
ORDER BY
	Name ASC;Code language: SQL (Structured Query Language) (sql)

Wypróbuj

Jak widać z zapytań, używając IN operatora jest znacznie krótszy.

Jeśli masz zapytanie, które używa wielu OR operatorów, możesz rozważyć użycie IN zamiast tego, aby zapytanie było bardziej czytelne.

SQLite IN operator z przykładem podzapytania

Poniższe zapytanie zwraca listę identyfikatorów albumów o identyfikatorze wykonawcy 12:

SELECT albumid
FROM albums
WHERE artistid = 12;Code language: SQL (Structured Query Language) (sql)

Wypróbuj

Aby uzyskać utwory należące do artysty o identyfikatorze 12, możesz połączyć IN operator z podzapytaniem w następujący sposób:

SELECT
	TrackId, 
	Name, 
	AlbumId
FROM
	Tracks
WHERE
	AlbumId IN (
		SELECT
			AlbumId
		FROM
			Albums
		WHERE
			ArtistId = 12
	);Code language: SQL (Structured Query Language) (sql)

Wypróbuj

W tym przykładzie:

  • Najpierw podzapytanie zwraca listę identyfikatorów albumów należących do identyfikatora wykonawcy 12.
  • Następnie zewnętrzne zapytanie zwraca wszystkie utwory, których identyfikator albumu jest zgodny z listą identyfikatorów albumu zwróconą przez podzapytanie.

SQLite NIE W przykładach

Poniższa instrukcja zwraca listę utworów, których identyfikator gatunku nie znajduje się na liście (1,2,3).

SELECT
	trackid,
	name,
	genreid
FROM
	tracks
WHERE
	genreid NOT IN (1, 2,3);Code language: SQL (Structured Query Language) (sql)

Wypróbuj

W tym samouczku nauczyłeś się korzystać z SQLite IN operatora, aby dopasować wartość do listy wartości lub podzapytania.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.util.MissingFormatArgumentException:Specyfikator formatu:s

  2. Jak zaimplementować bazę danych SQLite do przechowywania obrazu bitmapowego i tekstu?

  3. Konwertuj SQLite na JSON

  4. Przechowywanie konfiguracji w Androidzie

  5. Jak stworzyć aplikację do internacjonalizacji offline:Zbuduj strukturę projektu