CREATE TABLE `students` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NULL DEFAULT NULL,
`grade` SET('a','b','c','d','e') NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
AUTO_INCREMENT=6;
INSERT INTO `students` (`id`, `name`, `grade`) VALUES (1, 'Mark', 'a,c,d');
INSERT INTO `students` (`id`, `name`, `grade`) VALUES (2, 'John', 'c,d');
INSERT INTO `students` (`id`, `name`, `grade`) VALUES (3, 'Ronald', 'a,b,d');
INSERT INTO `students` (`id`, `name`, `grade`) VALUES (4, 'Morgan', 'c,d');
INSERT INTO `students` (`id`, `name`, `grade`) VALUES (5, 'Ronaldo', 'a,b,c,d');
SELECT
CASE WHEN name='John' THEN 'found John' ELSE 'no John' END as John_Column,
CASE WHEN name='Morgan' THEN 'found Morgan' ELSE 'no Morgan' END as Morgan_Column,
name,
id
FROM students;
SELECT
CASE
WHEN name='John' THEN 'found John'
WHEN name='Morgan' THEN 'found Morgan'
ELSE 'no John and no Morgan' END as MoreNames,
name,
id
FROM students;
SELECT IF(name LIKE 'Ron%','yes','no') as Names_starting_with_Ron, name, id from students;
SELECT * FROM students WHERE FIND_IN_SET('a', grade);
Tuesday, May 28, 2013
Complex SQL Queries with columns
Advanced MySQL queries with CASE, IF and FIND_IN_SET:
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment