Database
 sql >> база данни >  >> RDS >> Database

SQL WHERE Множество условия

В тази тема ще научим как да добавяме множество условия с помощта на клаузата WHERE.

Първо, нека разберем концепцията на клаузата WHERE.

Клаузата WHERE се използва за определяне на условие, докато се извличат записи от таблица.

Клаузата WHERE обикновено се използва с израза SELECT в SQL

Заявката SELECT ще покаже само записите, отговарящи на условието, посочено в клаузата WHERE

Може да има едно или повече от едно условие, посочено в условието на клаузата WHERE на заявка SELECT.

Операторите AND и OR се използват за проверка на множество условия с помощта на клаузата WHERE в една заявка.

  • оператор И с клауза WHERE

Всеки път, когато операторът AND се използва между условията с клауза WHERE за проверка на множество условия в заявка SELECT, резултатите се показват, когато е изпълнено само повече от едно условие, дадено в заявката.

Синтаксис:

SELECT *FROM table_name WHERE Condition 1 AND Condition 2 [AND Condition 3];

Пример 1:

Помислете за таблицата на учениците, дадена по-долу. Ще разгледаме една и съща таблица за всички следващи примери.

Student_RollNo Име_ученик Пол_ученик Mobile_Number_student Студентски_домашен град Студентска_възраст Процент_Студент
1 Rohit More Мъж 9890786123 Lucknow 23 75
2 Кунал Шах Мъж 7789056784 Чандигарх 20 68
3 Картик Гоенка Мъж 9908743576 Ахемдабад 22 92
4 Анупама Шах Женски 8890907656 Чандигарх 24 94
5 Снехал Джайн Женски 8657983476 Сура 21 94

Сега нека видим няколко примера, за да разберем тази концепция на практика.

mysql> SELECT *FROM students WHERE Student_Gender = "Male" AND Student_HomeTown = "Chandigarh";

Изход:

Има само един запис в таблицата на учениците с списък номер 2, който има пол като мъжки и роден град като Чандигарх. Дори ако някое от посочените условия не е изпълнено, тогава в този случай изходът няма да бъде същият. Показаните записи/записите ще бъдат различни или в някои случаи изходът може да е празен набор, ако нито един запис не отговаря на двете условия.

Пример 2:

mysql> SELECT *FROM students WHERE Student_Age = 21 AND Student_Percentage = 94;

Изход:

В таблицата на учениците има само един запис с номер на списък „5“, който има възраст, равна на „21“ и процент, равен на „94“.

Пример 3:

mysql> SELECT *FROM students WHERE Student_Gender = "Female" AND Student_HomeTown = "Chandigarh" AND Student_Age = 24;

Изход:

Сред всички записи в таблицата на учениците има само един запис с рол номер „4“, който има пол като „мъжки“, родния град като „Чандигарх“, а възрастта е равна на „24“. Това е единственият запис, който отговаря на трите условия.

Пример 4:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" AND  Student_Name = "Kartik Goenka" AND Student_Percentage = 92;

Изход:

Сред всички записи в таблицата на учениците има само един запис с рол номер „3“, в който са изпълнени и трите условия, т.е. пол като мъж, името е равно на „Kartik Goenka“ и процентът е равен на „92“.

  • Оператор OR с клауза WHERE

Всеки път, когато операторът OR се използва между условията с клауза WHERE за проверка на множество условия в заявка SELECT, резултатите се показват, когато е изпълнено поне едно условие сред всички останали условия, написани в заявка.

Синтаксис:

SELECT *FROM table_name WHERE Condition 1 OR Condition 2 [OR Condition 3];

Пример 1:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" OR Student_HomeTown = "Chandigarh";

Изход:

В таблицата на учениците има четири записа с рол номер 1, 2, 3 и 4, който има пол като мъж или роден град като Чандигарх. Дори ако са изпълнени определени условия, този запис ще се счита за част от изхода. В някои случаи изходът може да бъде празен набор, ако нито един запис не удовлетворява нито едно от условията.

Пример 2:

mysql> SELECT *FROM students WHERE Student_Age = 21 OR Student_Percentage = 94;

Изход:

В таблицата на учениците има две ролкови номера на записите „4“ и „5“, в които възрастта е равна на „21“, или процентът е равен на „94“.

Пример 3:

mysql> SELECT *FROM students WHERE Student_Gender = "Female" OR Student_HomeTown = "Chandigarh" OR Student_Age = 24;

Изход:

Сред всички записи в таблицата на учениците има три записа с номер на ролката „2“, „4“ и „5“, който има всеки пол като „женски“; родния град като „Чандигарх“ или възрастта е равна на „24“. Това са записите, които отговарят на едно от трите условия.

Пример 4:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" OR  Student_Name = "Kartik Goenka" OR Student_Percentage = 92;

Изход:

Сред всички записи в таблицата на учениците има три записа с номера на ролките „1“, „2“ и „3“, в които е изпълнено някое от трите условия, т.е. пол като мъж, името е равно на „Kartik Goenka“ или процент е равен на '92'.

  • оператор И и ИЛИ с клауза WHERE в една заявка

В заявка за клауза WHERE с израз SELECT можем също да използваме комбинация от оператори AND и OR в една заявка. Целта на използването на комбинациите от оператори И и ИЛИ в една заявка е да се тества по-високото ниво на сложни условия.

Синтаксис:

SELECT *FROM table_name WHERE Condition 1 AND/OR Condition 2 [AND/OR Condition 3];

Пример 1:

mysql> SELECT *FROM students WHERE Student_Gender = "Female" AND Student_HomeTown = "Chandigarh" OR Student_Age = 24;

Изход:

Според условията в заявка записът трябва да има пол като „жена“ и роден град като „Чандигарх“. Възрастта на ученика може или не може да бъде „24“. И така, има само един запис с рол номер „4“, който отговаря на тези условия. Дори ако някой запис има пол като „женски“ и роден град, различен от „Чандигарх“ или обратно, тогава този запис няма да се счита за изход.

Пример 2:

SELECT * FROM students WHERE Student_Gender = "Female" OR Student_HomeTown = "Chandigarh" AND Student_Age = 24;

Изход:

Според условията в заявка записът трябва да има или пол като „жена“, или роден град като „Чандигарх“. Възрастта на ученика не трябва да е различна от „24“. И така, има два записа с рол номер „4“ и „5“, които отговарят на тези условия.

Пример 3:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" AND Student_HomeTown = "Lucknow" OR Student_Age = 23 AND Student_Percentage = 75;

Изход:

В таблицата на учениците има само един запис с пол като „мъжки“, родният град като „Лъкнау“ и процентът на ученика трябва да бъде „75“. Възрастта на ученик може да бъде 23 или различна от 23.

Пример 4:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" OR Student_HomeTown = "Lucknow" AND Student_Age = 23 OR Student_Percentage = 75;

Изход:

В таблицата на учениците има три записа, които имат пол като „мъж“ и възраст като „23“. Родният град може или не може да бъде „Lucknow“. Освен това процентът може да бъде или да не е '75'.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Оттеглени функции, които да извадите от кутията си с инструменти – част 2

  2. Групиран агрегатен избутване

  3. Намалете обажданията към базата данни, за да подобрите производителността на уебсайта

  4. Заобикаляне на пропуснати оптимизации

  5. Топ 3 съвета, които трябва да знаете, за да пишете по-бързи SQL изгледи